-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest-shiny.R
40 lines (33 loc) · 1.32 KB
/
test-shiny.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
suppressPackageStartupMessages({
library(shinytest)
library(testthat)
library(rjson)
})
test_that("Census section is correct", {
app <<- ShinyDriver$new(".", loadTimeout = 100000)
app$setInputs(sidebarCollapsed = FALSE, wait_ = F, values_ = F)
app$setInputs(selectYear = "2013")
app$setInputs(selectProvincia = "Albacete")
app$setInputs(selectMunicipio = "Abengibre (Albacete)")
app$setInputs(selectNacionalidad = "Total Unión Europea")
app$setInputs(porcentaje = TRUE)
app$setInputs(hombreMujer = TRUE)
censusId <- fromJSON(app$getAllValues()$output$mapa)$x$calls[[2]]$args[[2]]
expect_equal(censusId, "0200101001")
})
test_that("Province graph is correct", {
app$setInputs(tabs = "tab2")
app$setInputs(selectProvincia2 = "Albacete")
app$setInputs(selectNacionalidad2 = "Total Unión Europea")
app$setInputs(sort = TRUE)
app$setInputs(manWoman = TRUE)
app$setInputs(percentage2 = TRUE)
peakPopulation <- fromJSON(app$getAllValues()$output$chart)$x$hc_opts$series[[1]]$data[1]
expect_equal(peakPopulation, 2807)
})
test_that("National map is correct", {
app$setInputs(tabs = "tab3")
app$setInputs(selectNacionalidad3 = "Total Unión Europea")
populationSpain <- fromJSON(app$getAllValues()$output$spainmap)$x$hc_opts$series[[1]]$data[[2]]$value
expect_equal(populationSpain, 11873)
})