test_that("Tabla() captura de algunos valores claves a retornar", {
# Creando el df a usar, específico para pruebas y generado minuciosamente
df <- tibble::tibble(
year = rep(2024:2026, each = 4),
season = rep(1:2, times = 6),
abbrv = c("A","A","A","A","A","B","C","D","A","C","B","D")
)
# --------------------------------- DINÁMICO ---------------------------------
output_Tabla <- Tabla(
datos = df,
filtros = TRUE,
encabezado = "ENCABEZADO",
leyenda = "LEYENDA",
ajustarNiveles = TRUE,
scrollX = FALSE,
fillContainer = FALSE,
colorHead = "#FF1234",
estatico = FALSE
)
# Validando que se retorne el tipo de objeto deseado
expect_type(output_Tabla, "list")
expect_s3_class(output_Tabla, c("datatables", "htmlwidget"))
# Validando algunos aspectos básicos que debe cumplir la tabla
# * Número de filas y columnas inalterables
expect_equal(nrow(output_Tabla[["x"]][["data"]]), 12)
expect_equal(ncol(output_Tabla[["x"]][["data"]]), 3)
# * Extensiones y opciones generales del Javascript HTML
expect_equal(output_Tabla[["x"]][["options"]][["dom"]], "Bfrtip")
expect_contains(unlist(output_Tabla[["x"]][["extensions"]]), c("Buttons", "KeyTable"))
# * Por definición la 1ra columna se ordena desc y la 2da asc
expect_equal(output_Tabla[["x"]][["options"]][["order"]][[1]][[2]], "desc")
expect_equal(output_Tabla[["x"]][["options"]][["order"]][[2]][[2]], "asc")
# * Valores booleanos que se definieron en los parámetros de la función
expect_false(output_Tabla[["x"]][["fillContainer"]])
expect_true(output_Tabla[["x"]][["options"]][["autoWidth"]])
expect_true(output_Tabla[["x"]][["options"]][["keys"]])
expect_true(output_Tabla[["x"]][["options"]][["searchHighlight"]])
expect_false(output_Tabla[["x"]][["options"]][["scrollX"]])
# * Corroborando el encabezado, leyenda y color de cabecera incrustados en etiquetas HTML
expect_snapshot(output_Tabla[["x"]][["container"]])
expect_snapshot(output_Tabla[["x"]][["caption"]])
expect_snapshot(output_Tabla[["x"]][["options"]][["initComplete"]][1])
# --------------------------------- ESTÁTICO ---------------------------------
output_Tabla <- Agregar(
datos = df, formula = abbrv ~ year + season,
frecuencia = list("Year" = 2024:2026, "Period" = 1:2)
) %>%
Tabla(
.,
rows = vars(year, season),
pivotCat = Clase,
pivotVar = Total,
columnNames = c("Time 1", "Time 2"),
encabezado = "LETTERS",
leyenda = "LEYENDA",
colorHead = "#AB1234",
estatico = TRUE
)
# Validando que se retorne el tipo de objeto deseado
expect_type(output_Tabla, "list")
expect_s3_class(output_Tabla, c("gt_tbl", "list"))
# Validando algunos aspectos básicos que debe cumplir la tabla
# * Número de filas y columnas inalterables
expect_equal(nrow(output_Tabla[["_data"]]), 6)
expect_equal(ncol(output_Tabla[["_data"]]), 6)
# * Orden de los encabezados de las columnas
expect_identical(
output_Tabla[["_boxhead"]][["var"]],
c("Time 1", "Time 2", "A", "B", "C", "D")
)
expect_contains(
unlist(output_Tabla[["_boxhead"]][["column_label"]]),
c("Time 1", "Time 2", "A", "B", "C", "D")
)
expect_identical(
output_Tabla[["_spanners"]][["vars"]][[1]], c("A", "B", "C", "D")
)
# * Corroborando el encabezado, leyenda y color de cabecera incrustados en etiquetas HTML
expect_equal(output_Tabla[["_spanners"]][["spanner_label"]][[1]], "LETTERS")
expect_equal(unlist(output_Tabla[["_source_notes"]]), "LEYENDA")
expect_equal(output_Tabla[["_options"]][["value"]][[1]], "#AB1234")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.