tests/testthat/test-designAutomation.R

library(testthat)
library(AutoDeskR)

# makePdf -------------------------------------------------------------------

test_that("makePdf stops when source is NULL", {
  expect_error(makePdf(source = NULL, destination = "d", token = "t"), "source is null")
})

test_that("makePdf stops when destination is NULL", {
  expect_error(makePdf(source = "s", destination = NULL, token = "t"), "destination is null")
})

test_that("makePdf stops when token is NULL", {
  expect_error(makePdf(source = "s", destination = "d", token = NULL), "token is null")
})

test_that("makePdf returns correct structure", {
  skip_on_cran()
  skip_if_not(dir.exists(test_path("developer.api.autodesk.com")), "mock fixtures not available")
  skip_if_not_installed("httptest2")
  httptest2::with_mock_api({
    resp <- makePdf(
      source      = "http://example.com/file.dwg",
      destination = "http://example.com/output/",
      token       = "test_token"
    )
    expect_s3_class(resp, "makePdf")
    expect_named(resp, c("content", "path", "response"))
    expect_equal(resp$content$id, "abc123")
    expect_equal(resp$content$status, "pending")
    expect_equal(resp$path, "https://developer.api.autodesk.com/da/us-east/v3/workitems")
  })
})

# checkPdf ------------------------------------------------------------------

test_that("checkPdf stops when id is NULL", {
  expect_error(checkPdf(id = NULL, token = "t"), "id is null")
})

test_that("checkPdf stops when token is NULL", {
  expect_error(checkPdf(id = "abc123", token = NULL), "token is null")
})

test_that("checkPdf returns correct structure", {
  skip_on_cran()
  skip_if_not(dir.exists(test_path("developer.api.autodesk.com")), "mock fixtures not available")
  skip_if_not_installed("httptest2")
  httptest2::with_mock_api({
    resp <- checkPdf(id = "abc123", token = "test_token")
    expect_s3_class(resp, "checkPdf")
    expect_equal(resp$content$id, "abc123")
    expect_equal(resp$content$status, "success")
  })
})

test_that("checkPdf warns when deprecated source is supplied", {
  skip_on_cran()
  skip_if_not(dir.exists(test_path("developer.api.autodesk.com")), "mock fixtures not available")
  skip_if_not_installed("httptest2")
  httptest2::with_mock_api({
    expect_warning(
      checkPdf(id = "abc123", token = "test_token", source = "http://x.com/f.dwg"),
      "deprecated"
    )
  })
})

test_that("checkPdf warns when deprecated destination is supplied", {
  skip_on_cran()
  skip_if_not(dir.exists(test_path("developer.api.autodesk.com")), "mock fixtures not available")
  skip_if_not_installed("httptest2")
  httptest2::with_mock_api({
    expect_warning(
      checkPdf(id = "abc123", token = "test_token", destination = "http://x.com/out/"),
      "deprecated"
    )
  })
})

Try the AutoDeskR package in your browser

Any scripts or data that you put into this service are public.

AutoDeskR documentation built on May 28, 2026, 5:08 p.m.