tests/testthat/test-stimulus-assets.R

test_that("stimulus_assets() works", {

  assets <- expect_class(
    stimulus_assets(
      controllers = pkg_inst("demo_app"),
      app_version = pkg_vers(),
    ),
    c("stimulus_assets", "shiny.tag.list")
  )
  expect_class(assets[[1]], "html_dependency")
  expect_class(assets[[2]], "html_dependency")
  expect_gt(length(assets[[2]]$script), 0)
  expect_class(assets[[3]], "shiny.tag")
  expect_directory_exists(pkg_user("controllers"))
  expect_file_exists(pkg_user("controllers", "hello_controller.js"))

  expect_null(stimulus_assets(
    controllers = list(),
    app_version = pkg_vers()
  ))

  assets <- expect_class(
    stimulus_assets(
      controllers = pkg_inst("demo_app/hello_controller.js"),
      app_version = pkg_vers()
    ),
    c("stimulus_assets", "shiny.tag.list")
  )
  expect_equal(assets[[2]]$script[[1]]$src, path("hello_controller.js"))

})
tjpalanca/hotwire.R documentation built on Dec. 23, 2021, 10:59 a.m.