tests/testthat/test-mergeBatch.R

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)
})

Try the eppoFindeR package in your browser

Any scripts or data that you put into this service are public.

eppoFindeR documentation built on April 25, 2026, 1:07 a.m.