context("to_raise")
stub_registry()$remove_all_request_stubs()
test_that("no stubs exist before stub_request called", {
expect_equal(length(stub_registry()$request_stubs), 0)
})
library(fauxpas)
aa <- stub_request("get", hb("/get")) %>% to_raise(HTTPAccepted)
test_that("stub_request bits are correct", {
expect_is(aa, "StubbedRequest")
expect_null(aa$body)
expect_null(aa$host)
expect_null(aa$response)
expect_null(aa$query)
expect_null(aa$request_headers)
expect_null(aa$response_headers)
# expect_false(aa$timeout) # timeout will be removed in StubbedRequest
expect_is(aa$method, "character")
expect_equal(aa$method, "get")
expect_is(aa$uri, "character")
expect_equal(aa$uri, hb("/get"))
# to_raise expected stuff
rr <- aa$responses_sequences[[1]]
expect_true(rr$raise)
expect_is(rr$exceptions, "list")
expect_is(rr$exceptions[[1]], "R6ClassGenerator")
expect_equal(rr$exceptions[[1]]$classname, "HTTPAccepted")
expect_equal(rr$exceptions[[1]]$new()$status_code, 202)
})
test_that("stubs exist after stub_request called", {
expect_equal(length(stub_registry()$request_stubs), 1)
})
test_that("stub_request fails well", {
expect_error(to_raise(), "argument \".data\" is missing")
expect_error(to_raise(5), ".data must be of class StubbedRequest")
# exception clases
zzz <- stub_request("get", hb("/get"))
expect_error(to_raise(zzz, "foo"),
"all objects must be error classes from fauxpas")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.