I'm trying to use integration testing on this shiny app, but after reading up on it, I'm not sure what I'm doing wrong. I keep getting this error: Error in isModuleServer(app) : object 'session' not found I'm also getting this error: Error: object 'output' not found
Any help is appreciated.
library(shiny)
displayColoredBox<- function(color, riskMessage){
sidebarPanel(style=sprintf("background-color: %s; width: 300px; height: 300px;", color),
h3(sprintf("%s", riskMessage)) ) }
shinyApp(
ui = fluidPage(
div(
id = "form",
sliderInput("count1", "First Slider Input", value=0, min=0, max=5000),
sliderInput("count2", "Second Slider Input", value=0, min=0, max=5000),
uiOutput("coloredBox")
)),
server <- function(input, output) {
output$coloredBox<-renderUI({
req(input$count1)
req(input$count2)
count1 <- input$count1;
count2 <- input$count2;
likelihood <- (count1*count2)/5000000
if (likelihood>1) {
color="red"
riskMessage="Extreme risk!"
} else if (likelihood>.65){
color="orange"
riskMessage="Very high risk!"
}
else if (likelihood>.35){
color="yellow"
riskMessage="High risk!"
}
else if (likelihood>.10){
color="blue"
riskMessage="Moderate risk!"
} else {
color="green"
riskMessage="Low risk!"
}
displayColoredBox(color, riskMessage)
})
}
)
testServer({
session$setInputs(count1 = 1500)
session$setInputs(count2 = 2500)
stopifnot(output$likelihood == 0.75)
stopifnot(output$riskMessage == "Very high risk!")
stopifnot(output$color == "orange")
})