test_that("The data parameter must be a list", { expect_error( .mergeBatch( datasets = 123, parentColumnName = "name")) }) test_that("The column name must be a string", { expect_error( .mergeBatch( datasets = list(), parentColumnName = 123)) }) test_that("The result must be a list", { nestedList_ <- list( Group1 = list( a = data.frame(x = 1:2, queried_url = NA, queried_on = NA), b = data.frame(y = 3:4, queried_url = NA, queried_on = NA)), Group2 = list( a = data.frame(x = 5:6, queried_url = NA, queried_on = NA), b = data.frame(y = 7:8, queried_url = NA, queried_on = NA)) ) expect_true( is.list( .mergeBatch( datasets = nestedList_, parentColumnName = "group"))) }) test_that("The resulting list must contain service names", { nestedList_ <- list( Group1 = list( a = data.frame(x = 1:2, queried_url = NA, queried_on = NA), b = data.frame(y = 3:4, queried_url = NA, queried_on = NA)), Group2 = list( a = data.frame(x = 5:6, queried_url = NA, queried_on = NA), b = data.frame(y = 7:8, queried_url = NA, queried_on = NA)) ) result_ <- .mergeBatch( datasets = nestedList_, parentColumnName = "group") expect_equal( names( result_), c("a", "b")) }) test_that("The resulting tibbles must contain the parent list name", { nestedList_ <- list( Group1 = list( a = data.frame(x = 1:2, queried_url = NA, queried_on = NA), b = data.frame(y = 3:4, queried_url = NA, queried_on = NA)), Group2 = list( a = data.frame(x = 5:6, queried_url = NA, queried_on = NA), b = data.frame(y = 7:8, queried_url = NA, queried_on = NA)) ) result_ <- .mergeBatch( datasets = nestedList_, parentColumnName = "group") expect_true("Group1" %in% result_$a$group) expect_true("Group2" %in% result_$a$group) expect_true("Group1" %in% result_$b$group) expect_true("Group2" %in% result_$b$group) })