context("Test field objects")
test_that("Field creation works as expected", {
# Should work
expect_error(field("name"), NA)
expect_equal(class(field("name")), "field")
expect_equal(
field("name")[["output_name"]],
field("name")[["name"]]
)
expect_error(
field(
name = "name",
output_name = "name2",
is_compulsary = TRUE,
transform = function(x) {
paste0("transformed_", x)
},
validate = is.character,
warn_on_overwrite = FALSE
),
NA
)
})
test_that("set_field works as expected", {
my_field <- field(
"foo",
validate = is.character,
transform = function(x) {
paste0("transformed_", x)
},
warn_on_overwrite = TRUE
)
expect_error(my_field <- set_field(my_field, "Hello"), NA)
expect_equal(my_field[["value"]], "transformed_Hello")
expect_warning(set_field(my_field, "Goodbye"))
# No warning if same value
expect_warning(set_field(my_field, "Hello"), NA)
expect_error(set_field(my_field, 3))
})
test_that("field_uuid works as expected", {
expect_error(
my_field <- field_uuid(),
NA
)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.