test_that("error on empty api key", {
THRESHOLD <- log_threshold()
log_threshold(FATAL)
expect_error(set_api_key(""), regexp = "\\(401\\) Unauthorized")
log_threshold(THRESHOLD)
})
test_that("api key not set", {
skip_on_cran()
skip_if(NO_API_KEY_IN_ENVIRONMENT)
# Delete cached API key.
try(rm("api_key", envir = clockify:::cache), silent = TRUE)
expect_error(get_api_key())
})
test_that("set api key", {
skip_on_cran()
skip_if(NO_API_KEY_IN_ENVIRONMENT)
set_api_key(CLOCKIFY_API_KEY)
expect_equal(cache_get(API_KEY), CLOCKIFY_API_KEY)
# Insert time entries for reports.
#
# Insert these time entries here. Why? Because they are going to be used in the tests for reports and shared reports.
# However, if you only create these time entries immediately before the reports then the reports don't seem to get
# updated in time. It's a race condition of sorts.
#
workspace(CLOCKIFY_WORKSPACE)
#
for (i in 1:3) {
for (project_id in c(PROJECT_ID_CLOCKIFY, PROJECT_ID_EMAYILI)) {
TIME_END <- TIME_CURRENT - random_integer(86400)
TIME_START <- TIME_END - random_integer(3600 * 6)
time_entry_create(USER_ID_AUTHENTICATED, project_id, TIME_START, TIME_END, random_string())
}
}
})
test_that("get api key", {
skip_on_cran()
skip_if(NO_API_KEY_IN_ENVIRONMENT)
expect_equal(get_api_key(), CLOCKIFY_API_KEY)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.