Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions changelog.d/populace-default-dataset.changed.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Default US economy metadata to the certified Populace dataset while keeping CPS and enhanced CPS as explicit non-default legacy options.
8 changes: 7 additions & 1 deletion policyengine_api/country.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,11 +198,17 @@ def build_microsimulation_options(self) -> dict:
dict(name=2022, label="2022"),
]
datasets = [
dict(
name="default",
label="Populace",
title="Certified Populace dataset",
default=True,
),
dict(
name="cps",
label="CPS",
title="Current Population Survey",
default=True,
default=False,
),
dict(
name="enhanced_cps",
Expand Down
25 changes: 24 additions & 1 deletion tests/unit/services/test_metadata_service.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import pytest
from policyengine_api.services.metadata_service import MetadataService
from policyengine_api.country import COUNTRIES


class TestMetadataService:
Expand Down Expand Up @@ -118,6 +117,30 @@ def test_verify_metadata_for_given_country(
assert "datasets" in metadata["economy_options"]
assert isinstance(metadata["economy_options"]["datasets"], list)

def test_us_default_dataset_is_certified_populace(self):
"""US metadata should select the bundle-resolved Populace dataset by default."""
service = MetadataService()
metadata = service.get_metadata("us")

datasets = metadata["economy_options"]["datasets"]
default_datasets = [dataset for dataset in datasets if dataset.get("default")]

assert default_datasets == [
{
"name": "default",
"label": "Populace",
"title": "Certified Populace dataset",
"default": True,
}
]
assert any(
dataset["name"] == "cps" and not dataset["default"] for dataset in datasets
)
assert any(
dataset["name"] == "enhanced_cps" and not dataset["default"]
for dataset in datasets
)

@pytest.mark.parametrize(
"country_id, expected_types",
[
Expand Down
Loading