def test_getDoneItems_showAllDoneItems(done_items):
    # given (gt5 done items, and _show_all_done_items has value of True)
    today_done_viewModel = ViewModel(done_items, statuses)
    today_done_viewModel.show_all_done_items = True

    # when
    today_done_items = today_done_viewModel.getDoneItems()

    # then
    assert len(today_done_items) == 5
def test_getDoneItems_lt5(done_items):
    # given (lt5 done items)
    lt5_done_items = done_items[:4]
    lt5_done_viewModel = ViewModel(lt5_done_items, statuses)

    # when
    items = lt5_done_viewModel.getDoneItems()

    # then
    assert len(items) == 4
def test_getDoneItems_today(done_items):
    # given (gt5 done items, _show_all_done_items has default value of False, and item[2] was done today)
    today_done_viewModel = ViewModel(done_items, statuses)

    # when
    today_done_items = today_done_viewModel.getDoneItems()

    # then
    assert len(today_done_items) == 1
    assert today_done_items[0].done == done_items[2].done
    assert today_done_items[0].id == done_items[2].id