Nothing
# TEST POST/PUT/DELETE REQUESTS
# =============================
# This requires a path to a token stored in an environment variable. To do this,
# authorize the app and let httr store it locally. Then add this to ~/.profile:
#
# export TOKEN_PATH=~/path/to/.httr-oauth
#
# The value will become available on the next login, use `Sys.getenv` to check.
# Avoid running when auth is not available.
skip_if_no_token <- function() {
if (identical(Sys.getenv("TOKEN_PATH"), "")) {
skip("No authentication available")
} else {
tokens <- readRDS(Sys.getenv("TOKEN_PATH"))
tokens[[length(tokens)]]
}
}
token <- skip_if_no_token()
# In the below, some of the tests rely on the results from the other tests,
# which could be considered bad practice. A setup-teardown approach would be most
# appropriate, with resources created beforehand. This would allow for tests
# like "attach file to a card" to be performed independently from card creation
# tests. On the other hand, it is better to have suboptimal tests rather than
# no tests at all.
testthat::test_that("create, update, upload file, delete", {
skip_if_no_token()
board <- trelloR::add_board(
name = paste0("trelloR testing: ", Sys.Date()),
body = list(defaultLists = TRUE, desc = "Test trelloR with testthat"),
token = token
)
testthat::expect_is(board, "list")
testthat::expect_equal(board$desc, "Test trelloR with testthat")
updated <- trelloR::update_resource(
"board",
id = board$id,
body = list(desc = "Updated description"),
token = token
)
testthat::expect_is(updated, "list")
testthat::expect_equal(updated$desc, "Updated description")
list_ <- trelloR::add_list(
board$id,
name = "Testing",
pos = 1L,
token = token
)
testthat::expect_is(list_, "list")
testthat::expect_equal(list_$name, "Testing")
card <- trelloR::add_card(
list_$id,
body = list(
name = "Testing",
desc = "A testing card."
),
token = token
)
testthat::expect_is(card, "list")
testthat::expect_equal(card$desc, "A testing card.")
attachment <- trelloR::create_resource(
resource = "card",
path = "attachments",
id = card$id,
body = list(
name = "A dog in yellow tuque",
file = httr::upload_file("attachment.jpg"),
setCover = TRUE
),
token = token
)
cover <- get_resource("card", id = card$id, token = token)
testthat::expect_is(attachment, "list")
testthat::expect_equal(cover$idAttachmentCover, attachment$id)
deleted <- trelloR::delete_resource("board", board$id, token = token)
testthat::expect_is(deleted, "list")
testthat::expect_null(deleted[["_value"]])
})
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.