def test_phase_can_skip_cycle(dp, out, tasks: Tasks, capsys): tasks.add_task(Task("")) dp.dummy_input = ['skip'] next(dp) o = out() assert o.count("What do") == 1 assert o.count("Skipping") == 1
def test_attp_prompts_projects(attp_dp, tasks, out): tasks.add_task(Task("unassigned_task")) tasks.add_task(Task("@@@project prj:fakeproj1")) tasks.add_task(Task("an assigned task prj:fakeproj2")) with pytest.raises(IOError): next(attp_dp) o = out() print(o) assert 'auto create' in o assert 'new project' in o assert '0. fakeproj1' in o
def test_can_retry_response(dp, out, tasks): tasks.add_task(Task("")) dp.dummy_input = ['d', 'skip'] next(dp) assert out().count("Skipping") == 1
def test_displays_options_command(dp, out, tasks): tasks.add_task(Task("")) with pytest.raises(IOError): next(dp) assert out().count('skip') == 1
def test_attp_can_assign_to_existing_prj(attp_dp, tasks, out): attp_dp.dummy_input = ['p', '0'] tasks.add_task(t := Task("buy paint")) tasks.add_task(Task("@@@project prj:guitar")) next(attp_dp) assert t.persist == "buy paint prj:guitar"
def test_partial_matcher_handle_non_unique_matches(dp, out, tasks): tasks.add_task(Task("")) dp._option_classes = [DummyOption('kite'), DummyOption('kitten')] dp.dummy_input = ['kit'] with pytest.raises(IOError): next(dp)
def test_can_match_unique_partial_command(dp, out, tasks): tasks.add_task(Task("")) dp.dummy_input = ['s'] next(dp) assert out().count("Skipping") == 1