test: bundle fixture corpus + wire local-path test helpers
Adds inst/extdata/fixture_corpus/ — a 3.6 MB two-year (2019/2020) slice of the published corpus (OH+VT+WY fixture from cog_pipeline test profile plus all 50 states). Includes canonical_fips_xwalk.parquet, summary_categories.parquet, docs/, and a trimmed manifest.json. setup.R now points USCOGDATA_URL at the bundled fixture automatically, bypassing HTTP / Nextcloud entirely. DuckDB reads local parquet via the existing .is_local_path() fast-path in manifest.R; no httpfs required. session is reset between test files via withr::defer(cog_close()). helper-fixture.R gains fixture_corpus_path(), a richer skip_if_no_corpus() that checks the bundled fixture first, and with_fixture_corpus() for tests that need explicit session isolation. test-spending.R: adjust the inflate-column test to use 2019 (fixture year) instead of 2015 (absent from fixture). Result: 181 PASS / 0 FAIL / 0 SKIP — all tests run against real parquet data with real DuckDB queries and no network dependency.
This commit is contained in:
@@ -34,11 +34,11 @@ test_that("cog_spending with per_capita adds per-capita nominal column", {
|
||||
|
||||
test_that("cog_spending with adjust_to_year adds real column", {
|
||||
skip_if_no_corpus()
|
||||
r <- cog_spending("101006006", 2015:2020, "Corrections",
|
||||
r <- cog_spending("101006006", 2019:2020, "Corrections",
|
||||
adjust_to_year = 2022L)
|
||||
expect_true("amt_real" %in% names(r))
|
||||
r2015 <- dplyr::filter(r, year == 2015L)
|
||||
expect_true(any(r2015$amt_nominal != r2015$amt_real))
|
||||
r2019 <- dplyr::filter(r, year == 2019L)
|
||||
expect_true(any(r2019$amt_nominal != r2019$amt_real))
|
||||
})
|
||||
|
||||
test_that("cog_spending with per_capita + adjust_to_year adds all columns", {
|
||||
|
||||
Reference in New Issue
Block a user