def test_build_work_items(fs):

    backlog = helpers.Backlog()
    backlog._build_epic = MagicMock(return_value=None)
    work_items = backlog._build_work_items(
        MockedFiles._mock_parsed_file_list(), MockedFiles._mock_config())

    backlog._build_epic.assert_any_call(
        MockedFiles._mock_parsed_file_list()[0], MockedFiles._mock_config())
    backlog._build_epic.assert_any_call(
        MockedFiles._mock_parsed_file_list()[1], MockedFiles._mock_config())
    backlog._build_epic.assert_any_call(
        MockedFiles._mock_parsed_file_list()[2], MockedFiles._mock_config())
    assert work_items == []

    epic = entities.Epic()
    epic.title = "Foobar"
    epic.description = "Some Description"
    backlog._build_epic = MagicMock(return_value=epic)
    work_items = backlog._build_work_items(
        [MockedFiles._mock_parsed_file_list()[0]], MockedFiles._mock_config())
    assert len(work_items) == 1
    assert work_items[0] == epic
    assert work_items[0].title == "Foobar"
    assert work_items[0].description == "Some Description"
def test_initEpic():
    e = entities.Epic()
    assert isinstance(e, entities.Epic)
    assert isinstance(e.features, List)
    assert len(e.features) == 0
    assert isinstance(e.tags, List)
    assert len(e.tags) == 0
def test_addTagsToTagList():
    e = entities.Epic()
    for r in range(5):
        t = entities.Tag()
        e.addTag(t)

    assert len(e.tags) == 5
    assert isinstance(e.tags, List)
    assert isinstance(e.tags[0], entities.Tag)
def test_addFeaturesToFeatureList():
    e = entities.Epic()
    for r in range(5):
        f = entities.Feature()
        e.addFeature(f)

    assert len(e.features) == 5
    assert isinstance(e.features, List)
    assert isinstance(e.features[0], entities.Feature)
def test_addGenericsToTagList():
    e = entities.Epic()
    with pytest.raises(TypeError) as exc:
        for r in range(5):
            e.addTag(r)
    assert "value must be of type 'Tag'" in str(exc.value)
def test_setDescriptionToString():
    e = entities.Epic()
    e.description = "Test"
    assert e.description == "Test"
def test_setDescriptionToNumber():
    e = entities.Epic()

    with pytest.raises(TypeError) as exc:
        e.description = 42
    assert "value must be a string" in str(exc.value)
def test_setTitleToNumber():
    e = entities.Epic()

    with pytest.raises(TypeError) as exc:
        e.title = 42
    assert "value must be a string" in str(exc.value)
def test_setTitleToString():
    e = entities.Epic()
    e.title = "Test"
    assert e.title == "Test"
def test_add_generics_to_feature_list():
    e = entities.Epic()
    with pytest.raises(TypeError) as exc:
        for r in range(5):
            e.add_feature(r)
    assert "value must be of type 'Feature'" in str(exc.value)
def test_set_description_to_string():
    e = entities.Epic()
    e.description = "Test"
    assert e.description == "Test"
def test_set_title_to_string():
    e = entities.Epic()
    e.title = "Test"
    assert e.title == "Test"