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
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
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
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
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
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'])
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'])
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'])
def user_already_started_an_activity(cls): user_activities = ActivityGateway.activities() for activity in user_activities: if activity.started: return True return False
def test_start_tracking_the_first_activity(self): ActivityManager.start_tracking_new_activity('break') assert len(ActivityGateway.activities()) == 1
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
def test_new_activity_added_to_db(test_db, test_activity): assert len(ActivityGateway.activities()) == 1
def test_no_user_activities_are_found_when_user_has_no_activities(self): activities = ActivityGateway.activities() assert len(activities) == 0