|
|
|
source('testhelpers.R')
|
|
|
|
|
|
|
|
context('osem_box_to_archivename()')
|
|
|
|
|
|
|
|
try({
|
|
|
|
boxes = osem_boxes(grouptag = 'ifgi')
|
|
|
|
box = osem_box('593bcd656ccf3b0011791f5a')
|
|
|
|
})
|
|
|
|
|
|
|
|
test_that('osem_box_to_archive_name does the correct character replacements', {
|
|
|
|
b = data.frame(
|
|
|
|
name = 'aA1._- äß!"?$%&/',
|
|
|
|
X_id = 'UUID'
|
|
|
|
)
|
|
|
|
|
|
|
|
archivename = opensensmapr:::osem_box_to_archivename(b)
|
|
|
|
expect_equal(archivename, 'UUID-aA1._-__________')
|
|
|
|
})
|
|
|
|
|
|
|
|
test_that('osem_box_to_archive_name works for one box', {
|
|
|
|
check_api()
|
|
|
|
if (is.null(box)) skip('no box data could be fetched')
|
|
|
|
|
|
|
|
archivename = opensensmapr:::osem_box_to_archivename(box)
|
|
|
|
expect_length(archivename, 1)
|
|
|
|
expect_type(archivename, 'character')
|
|
|
|
})
|
|
|
|
|
|
|
|
test_that('osem_box_to_archive_name works for multiple boxes', {
|
|
|
|
check_api()
|
|
|
|
if (is.null(boxes)) skip('no box data available')
|
|
|
|
|
|
|
|
archivename = opensensmapr:::osem_box_to_archivename(boxes)
|
|
|
|
expect_length(archivename, nrow(boxes))
|
|
|
|
expect_type(archivename, 'character')
|
|
|
|
})
|
|
|
|
|
|
|
|
context('osem_measurements_archive()')
|
|
|
|
|
|
|
|
test_that('osem_measurements_archive works for one box', {
|
|
|
|
check_api()
|
|
|
|
if (is.null(box)) skip('no box data could be fetched')
|
|
|
|
|
|
|
|
m = osem_measurements_archive(box, as.POSIXlt('2018-08-08'))
|
|
|
|
expect_length(m, nrow(box$sensors[[1]]) + 1) # one column for each sensor + createdAt
|
|
|
|
expect_s3_class(m, c('data.frame'))
|
|
|
|
})
|
|
|
|
|
|
|
|
test_that('osem_measurements_archive sensorFilter works for one box', {
|
|
|
|
check_api()
|
|
|
|
if (is.null(box)) skip('no box data could be fetched')
|
|
|
|
|
|
|
|
m = osem_measurements_archive(box, as.POSIXlt('2018-08-08'), sensorFilter = ~ phenomenon == 'Temperatur')
|
|
|
|
expect_length(m, 2) # one column for Temperatur + createdAt
|
|
|
|
expect_s3_class(m, c('data.frame'))
|
|
|
|
})
|
|
|
|
|
|
|
|
test_that('osem_measurements_archive fails for multiple boxes', {
|
|
|
|
check_api()
|
|
|
|
if (is.null(boxes)) skip('no box data available')
|
|
|
|
|
|
|
|
expect_error(
|
|
|
|
osem_measurements_archive(boxes, as.POSIXlt('2018-08-08')),
|
|
|
|
'this function only works for exactly one senseBox!'
|
|
|
|
)
|
|
|
|
})
|