def test_in_progress_and_completed_section_ids(section_ids,
                                               expected_section_keys):
    completed = [
        {
            "section_id": "s1",
            "list_item_id": None,
            "status": CompletionStatus.COMPLETED,
            "block_ids": ["one", "two"],
        },
        {
            "section_id": "s2",
            "list_item_id": None,
            "status": CompletionStatus.IN_PROGRESS,
            "block_ids": ["three"],
        },
        {
            "section_id": "s3",
            "list_item_id": "abc123",
            "status": CompletionStatus.NOT_STARTED,
            "block_ids": ["three"],
        },
        {
            "section_id": "s4",
            "list_item_id": "123abc",
            "status": CompletionStatus.COMPLETED,
            "block_ids": ["not-three"],
        },
        {
            "section_id": "s5",
            "list_item_id": "456def",
            "status": CompletionStatus.IN_PROGRESS,
            "block_ids": ["not-three"],
        },
    ]

    store = ProgressStore(completed)

    statuses = {CompletionStatus.COMPLETED, CompletionStatus.IN_PROGRESS}
    section_keys = store.section_keys(section_ids=section_ids,
                                      statuses=statuses)

    assert sorted(section_keys) == expected_section_keys
def test_section_keys():
    completed = [
        {
            "section_id": "s1",
            "list_item_id": None,
            "status": CompletionStatus.COMPLETED,
            "block_ids": ["one", "two"],
        },
        {
            "section_id": "s2",
            "list_item_id": None,
            "status": CompletionStatus.IN_PROGRESS,
            "block_ids": ["three"],
        },
        {
            "section_id": "s3",
            "list_item_id": "abc123",
            "status": CompletionStatus.NOT_STARTED,
            "block_ids": ["three"],
        },
        {
            "section_id": "s4",
            "list_item_id": "123abc",
            "status": CompletionStatus.COMPLETED,
            "block_ids": ["not-three"],
        },
        {
            "section_id": "s5",
            "list_item_id": "456def",
            "status": CompletionStatus.IN_PROGRESS,
            "block_ids": ["not-three"],
        },
    ]

    store = ProgressStore(completed)
    section_keys = store.section_keys(section_ids={"s1", "s2", "s3"})
    assert sorted(section_keys) == sorted([("s1", None), ("s2", None),
                                           ("s3", "abc123")])