コード例 #1
0
    def test_new_activity_turns_up_in_search_results(self, test_db,
                                                     test_activity):
        assert len(ActivityGateway.activities()) == 1
        test_activity.end()
        ActivityGateway.update_activity_in_db(test_activity)

        a = ActivityManager.start_new_activity('test2_activity')
        ActivityGateway.add_new_activity_to_db(a)
        assert len(ActivityGateway.activities()) == 2
コード例 #2
0
    def test_last_activity_ends_no_new_activity_is_created(
            self, test_activity):
        assert len(ActivityGateway.activities()) == 1
        assert test_activity.ended is False

        runner = CliRunner()
        result = runner.invoke(cli, ['stop'])

        assert result.exit_code == 0
        assert result.output.count('\n') == 1
        _assert_in_output(result.output, ['Stopped', test_activity.category])

        assert ActivityGateway.fetch_last_activity_started().ended is True
        assert len(ActivityGateway.activities()) == 1
コード例 #3
0
    def test_correct_user_activities_are_found_when_user_has_multiple_activities(
            self, test_sleeping_activity, test_working_activity, test_db):

        test_db.data = [test_sleeping_activity, test_working_activity]
        activities = ActivityGateway.activities()

        assert len(activities) == 2
コード例 #4
0
    def test_track_new_activity_when_another_one_is_already_being_tracked(
            self, test_activity):
        assert len(ActivityGateway.activities()) == 1
        assert test_activity.ended is False

        runner = CliRunner()
        result = runner.invoke(cli, ['working'])

        assert result.exit_code == 0
        assert result.output.count('\n') == 2
        _assert_in_output(
            result.output,
            ['Started', 'tracking', 'working', 'So far', 'spent', 'today'])

        assert ActivityGateway.fetch_activity(test_activity).ended is True
        assert len(ActivityGateway.activities()) == 2
コード例 #5
0
    def test_new_ativity_to_track_is_same_category_of_the_last_activity_being_tracked(
            self, test_activity):
        assert len(ActivityGateway.activities()) == 1
        assert test_activity.ended is False

        runner = CliRunner()
        result = runner.invoke(cli, [test_activity.category])

        assert result.exit_code == 0
        assert result.output.count('\n') == 2
        _assert_in_output(result.output, [
            'Started', 'tracking', test_activity.category, 'So far', 'spent',
            'today'
        ])

        assert ActivityGateway.fetch_activity(test_activity).ended is True
        assert len(ActivityGateway.activities()) == 2
コード例 #6
0
    def test_theres_no_activity_being_tracked_when_stop_command_is_issued(
            self):
        assert len(ActivityGateway.activities()) == 0

        runner = CliRunner()
        result = runner.invoke(cli, ['stop'])

        assert result.exit_code == 0
        assert result.output.count('\n') == 1
        _assert_in_output(result.output, ['not tracking'])
コード例 #7
0
    def test_track_new_activity_for_the_first_time(self):
        assert len(ActivityGateway.activities()) == 0

        runner = CliRunner()
        result = runner.invoke(cli, ['working'])

        assert result.exit_code == 0
        assert result.output.count('\n') == 2
        _assert_in_output(
            result.output,
            ['Started', 'tracking', 'working', 'So far', 'spent', 'today'])
コード例 #8
0
    def test_two_report_shows_correct_information_about_specified_category_of_activity(
            self):
        make_activity(0, 1000, 'working')
        make_activity(1, 2000, 'working')
        make_activity(2, 3000, 'working')
        make_activity(0, 100, 'workin')
        make_activity(-1, 200, 'workin')

        runner = CliRunner()
        result = runner.invoke(cli, ['--activity', 'working', '--days', '2'])

        print(ActivityGateway.activities())

        assert result.exit_code == 0
        assert result.output.count('\n') == 1
        _assert_in_output(result.output,
                          ['working', 'last 2 days', '1 hour', '40 minutes'])

        runner = CliRunner()
        result = runner.invoke(cli, ['--activity', 'workin', '--days', '1'])

        assert result.exit_code == 0
        assert result.output.count('\n') == 1
        _assert_in_output(result.output, ['since yesterday', '5 minutes'])
コード例 #9
0
 def user_already_started_an_activity(cls):
     user_activities = ActivityGateway.activities()
     for activity in user_activities:
         if activity.started:
             return True
     return False
コード例 #10
0
 def test_start_tracking_the_first_activity(self):
     ActivityManager.start_tracking_new_activity('break')
     assert len(ActivityGateway.activities()) == 1
コード例 #11
0
 def test_starting_to_track_new_activity_puts_the_activity_int_the_db(
         self, test_activity):
     assert len(ActivityGateway.activities()) == 1
     ActivityManager.start_tracking_new_activity('break')
     assert len(ActivityGateway.activities()) == 2
     assert not ActivityGateway.fetch_last_activity_started().ended
コード例 #12
0
def test_new_activity_added_to_db(test_db, test_activity):
    assert len(ActivityGateway.activities()) == 1
コード例 #13
0
 def test_no_user_activities_are_found_when_user_has_no_activities(self):
     activities = ActivityGateway.activities()
     assert len(activities) == 0