inst/apps/081-widgets-gallery/tests/testthat/test-mytest.R

library(shinytest2)

test_that("Migrated shinytest test: mytest.R", {
  app <- AppDriver$new(variant = shinytest2::platform_variant(),
    seed = 100, width = 1000, height = 1600, shiny_args = list(display.mode = "normal"))

  expect_screenshot <- function() {
    # Allow for a 10% difference in the screenshot kernel
    # 3000 / (3x RGB channels * 100 * 100) = 3000 / 30000 = 10%
    app$expect_screenshot(threshold = 3000, kernel_size = 100)
  }

  app$wait_for_value(output = "checkboxOut")
  app$expect_values()
  expect_screenshot()
  app$set_inputs(text = "Enter ")
  app$set_inputs(text = "Enter hagjhfafglak")
  app$set_inputs(slider2 = c(25, 87))
  app$set_inputs(slider2 = c(69, 87))
  app$set_inputs(slider1 = 100)
  app$set_inputs(checkGroup = c("1", "2"))
  app$set_inputs(checkGroup = c("1", "2", "3"))
  app$set_inputs(checkbox = FALSE)
  app$set_inputs(action = "click")
  app$set_inputs(action = "click")
  app$expect_values()
  expect_screenshot()
  app$set_inputs(action = "click")
  app$set_inputs(action = "click")
  app$set_inputs(action = "click")
  app$set_inputs(action = "click")
  app$set_inputs(checkbox = TRUE)
  app$set_inputs(checkbox = FALSE)
  app$set_inputs(checkGroup = character(0))
  app$set_inputs(checkGroup = "2")
  app$set_inputs(checkGroup = c("2", "3"))
  app$set_inputs(checkGroup = "2")
  app$set_inputs(checkGroup = character(0))
  app$set_inputs(checkGroup = "1")
  app$expect_values()
  expect_screenshot()
  app$set_inputs(checkGroup = character(0))
  app$set_inputs(checkbox = TRUE)
  app$set_inputs(date = "2014-01-15")
  app$set_inputs(date = "2014-01-30")
  app$set_inputs(dates = c("2019-12-19", "2019-12-05"))
  app$set_inputs(dates = c("2019-12-19", "2019-12-12"))
  app$upload_file(file = "cars.csv")
  app$set_inputs(select = "3")
  app$set_inputs(slider1 = 18)
  app$set_inputs(slider1 = 71)
  app$set_inputs(select = "2")
  app$set_inputs(select = "1")
  app$set_inputs(radio = "2")
  app$set_inputs(radio = "3")
  app$set_inputs(slider1 = 31)
  app$set_inputs(slider1 = 79)
  app$set_inputs(slider2 = c(0, 75))
  app$set_inputs(slider2 = c(0, 100))
  app$set_inputs(text = "More text")
  app$expect_values()
  expect_screenshot()
})
rstudio/shinycoreci documentation built on April 11, 2025, 3:17 p.m.