Skip to content

Commit 3e01568

Browse files
authored
Default US metadata to Populace
Advertise the bundle-resolved Populace default as the US economy metadata default while retaining CPS and enhanced CPS as explicit non-default legacy options.
1 parent cdc25d5 commit 3e01568

3 files changed

Lines changed: 32 additions & 2 deletions

File tree

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Default US economy metadata to the certified Populace dataset while keeping CPS and enhanced CPS as explicit non-default legacy options.

policyengine_api/country.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,11 +198,17 @@ def build_microsimulation_options(self) -> dict:
198198
dict(name=2022, label="2022"),
199199
]
200200
datasets = [
201+
dict(
202+
name="default",
203+
label="Populace",
204+
title="Certified Populace dataset",
205+
default=True,
206+
),
201207
dict(
202208
name="cps",
203209
label="CPS",
204210
title="Current Population Survey",
205-
default=True,
211+
default=False,
206212
),
207213
dict(
208214
name="enhanced_cps",

tests/unit/services/test_metadata_service.py

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import pytest
22
from policyengine_api.services.metadata_service import MetadataService
3-
from policyengine_api.country import COUNTRIES
43

54

65
class TestMetadataService:
@@ -118,6 +117,30 @@ def test_verify_metadata_for_given_country(
118117
assert "datasets" in metadata["economy_options"]
119118
assert isinstance(metadata["economy_options"]["datasets"], list)
120119

120+
def test_us_default_dataset_is_certified_populace(self):
121+
"""US metadata should select the bundle-resolved Populace dataset by default."""
122+
service = MetadataService()
123+
metadata = service.get_metadata("us")
124+
125+
datasets = metadata["economy_options"]["datasets"]
126+
default_datasets = [dataset for dataset in datasets if dataset.get("default")]
127+
128+
assert default_datasets == [
129+
{
130+
"name": "default",
131+
"label": "Populace",
132+
"title": "Certified Populace dataset",
133+
"default": True,
134+
}
135+
]
136+
assert any(
137+
dataset["name"] == "cps" and not dataset["default"] for dataset in datasets
138+
)
139+
assert any(
140+
dataset["name"] == "enhanced_cps" and not dataset["default"]
141+
for dataset in datasets
142+
)
143+
121144
@pytest.mark.parametrize(
122145
"country_id, expected_types",
123146
[

0 commit comments

Comments
 (0)