test_that("Query client initialization works", {
expect_is(Query, "R6ClassGenerator")
aa <- Query$new()
expect_is(aa, "Query")
expect_is(aa, "R6")
expect_is(aa$.__enclos_env__, "environment")
expect_is(aa$add_fragment, "function")
expect_is(aa$queries, "list")
expect_equal(length(aa$queries), 0)
})
test_that("Query query construction works", {
aa <- Query$new()
aa$query('myquery', '{ field(arg:"") }')
expect_is(aa, "Query")
expect_equal(length(aa$queries), 1)
expect_named(aa$queries, "myquery")
expect_named(aa$queries$myquery, c('query', 'fragment'))
expect_identical(aa$queries$myquery$query, '{ field(arg:"") }')
})
test_that("Query class fails well", {
expect_error(Query$new(a = 5), "there is no initialize method")
rr <- Query$new()
expect_error(rr$add_fragment(), "argument \"query_name\" is missing")
expect_error(rr$query('adsfafafd'), "argument \"x\" is missing")
})
test_that("Query checks queries - and fails as expected", {
qry <- Query$new()
expect_error(qry$query(x = 'adsfafafd'), "syntax error")
expect_error(qry$query('x', 'query { }'), "1.9: syntax error, unexpected }")
expect_error(qry$query('x', 'query myQuery { \a }'),
"1.17: unrecognized character")
expect_error(qry$query('x', '{ field(arg:\"\b\") }'),
"1.13-14: unrecognized character")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.