Skip to content

Commit

Permalink
add basic shiny app shinytest2 test
Browse files Browse the repository at this point in the history
  • Loading branch information
daattali committed Jan 16, 2023
1 parent d61b491 commit 6d8ea78
Show file tree
Hide file tree
Showing 14 changed files with 52 additions and 23 deletions.
17 changes: 17 additions & 0 deletions tests/testthat/apps/basic/app.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
library(shiny)
library(shinyjs)

ui <- fluidPage(
useShinyjs(),
disabled(actionButton("disabled", "this is disabled")),
actionButton("toggle", "toggle"),
div(id = "mydiv", "hello")
)

server <- function(input, output, session) {
observeEvent(input$toggle, {
toggle("mydiv")
})
}

shinyApp(ui, server)
11 changes: 11 additions & 0 deletions tests/testthat/apps/basic/test-basic-shiny.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
library(shiny)

test_that("basic app works", {
driver <- shinytest2::AppDriver$new(".", expect_values_screenshot_args = FALSE)
driver$wait_for_js("$('#disabled').is(':disabled')")
expect_true(driver$get_js("$('#mydiv').is(':visible')"))
driver$click("toggle")
driver$wait_for_js("!$('#mydiv').is(':visible')")
driver$click("toggle")
driver$wait_for_js("$('#mydiv').is(':visible')")
})
23 changes: 23 additions & 0 deletions tests/testthat/apps/reset/test-reset-no-args-shiny.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
library(shiny)

test_that("{shinytest2} recording: reset() with no arguments works", {
driver <- shinytest2::AppDriver$new(".", expect_values_screenshot_args = FALSE)
driver$expect_values()
driver$set_inputs(
text = "text2",
num = 8,
slider = 7,
realdate = "2009-05-14",
radio = "e",
radio2 = "d",
date = "2010-05-27"
)
driver$set_inputs(id = "")
driver$expect_values()
driver$click("reset")
driver$wait_for_idle()
driver$expect_values()
driver$click("reset")
driver$wait_for_idle()
driver$expect_values()
})
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
library(shiny)

test_that("{shinytest2} recording: reset elements works", {
driver <- shinytest2::AppDriver$new(".", name = "reset-general", expect_values_screenshot_args = FALSE)
driver <- shinytest2::AppDriver$new(".", expect_values_screenshot_args = FALSE)
driver$expect_values()
driver$set_inputs(
text = "text2",
Expand Down Expand Up @@ -35,25 +35,3 @@ test_that("{shinytest2} recording: reset elements works", {
driver$wait_for_idle()
driver$expect_values()
})

test_that("{shinytest2} recording: reset() with no arguments works", {
driver <- shinytest2::AppDriver$new(".", name = "reset-no-args", expect_values_screenshot_args = FALSE)
driver$expect_values()
driver$set_inputs(
text = "text2",
num = 8,
slider = 7,
realdate = "2009-05-14",
radio = "e",
radio2 = "d",
date = "2010-05-27"
)
driver$set_inputs(id = "")
driver$expect_values()
driver$click("reset")
driver$wait_for_idle()
driver$expect_values()
driver$click("reset")
driver$wait_for_idle()
driver$expect_values()
})

0 comments on commit 6d8ea78

Please sign in to comment.