Nothing
test_that(".build_uri() requires an endpoint", {
expect_error(.build_uri(query = c(a = 1, b = 2)))
})
test_that(".build_uri() returns a URL conforming to the proper scheme", {
expect_equal(
.build_uri(
endpoint = "some/endpoint",
query = c(a = 1, b = "x,y"),
format = "csv"
),
"https://paleobiodb.org/data1.2/some/endpoint.csv?a=1&b=x,y"
)
})
test_that(".extract_response_body() errors when status code != 200", {
resp <- readRDS(test_path("fixtures", "invalid_id_resp.rds"))
expect_error(.extract_response_body(resp), regexp = "Error in API response")
})
test_that(".extract_response_body() returns body when status code == 400", {
resp <- readRDS(test_path("fixtures", "valid_id_resp.rds"))
body <- paste0(
"{\n\"elapsed_time\":0.00185,\n\"records\": [\n{\"oid\":\"occ:1\",\"cid\":",
"\"col:1\",\"tna\":\"Australosutura llanoensis\",\"rnk\":3,\"tid\":\"txn:",
"349412\",\"oei\":\"Ivorian\",\"eag\":353.8,\"lag\":345.3,\"rid\":\"",
"ref:1\",\"lng\":\"-98.980003\",\"lat\":\"31.170000\"}\n]\n}\n"
)
expect_equal(.extract_response_body(resp), body)
})
test_that(".parse_raw_data() replicates warnings from the API", {
resp <- readRDS(test_path("fixtures", "warn_resp.rds"))
raw_data <- .extract_response_body(resp)
expect_warning(
.parse_raw_data(raw_data),
regexp = "Your query to the PBDB API generated the following warnings:"
)
})
test_that(".make_data_frame() warns the user if no records are returned", {
expect_warning(
.make_data_frame(list()),
regexp = "The PBDB API returned no records for this query."
)
})
test_that(".make_data_frame() returns a data frame", {
resp <- readRDS(test_path("fixtures", "valid_id_resp.rds"))
raw_data <- .extract_response_body(resp)
data_list <- rjson::fromJSON(raw_data)
df <- .make_data_frame(data_list$records)
expect_s3_class(df, "data.frame")
expect_identical(
names(df),
c("oid", "cid", "tna", "rnk", "tid", "oei",
"eag", "lag", "rid", "lng", "lat")
)
})
test_that(".collapse_array_columns_map() returns a length one character", {
s <- .collapse_array_columns_map(1:3)
expect_length(s, 1)
expect_equal(s, "1;2;3")
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.