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_user_has_more_than_one_activity_today_but_only_one_is_what_we_want_and_more_activities_on_other_days(
            self, test_user_with_multiple_activities_on_multiple_days, test_db,
            test_activity):
        test_working_activity = ActivityManager.start_new_activity('working')
        ActivityGateway.add_new_activity_to_db(test_working_activity)

        todays_activities = ActivityGateway.activities_today_in_this_category(
            'working')
        assert len(todays_activities) == 1
        assert test_working_activity._id == todays_activities[0]._id
    def test_user_has_more_than_one_activity_today_and_more_on_other_days(
            self, test_user_with_multiple_activities_on_multiple_days, test_db,
            test_activity):
        test_working_activity = ActivityManager.start_new_activity('working')
        ActivityGateway.add_new_activity_to_db(test_working_activity)

        todays_activities = ActivityGateway.activities_today()
        assert len(todays_activities) == 2
        _ids = [a._id for a in todays_activities]
        assert test_activity._id in _ids
        assert test_working_activity._id in _ids
    def test_activity_was_performed_multiple_times_today_and_all_except_one_already_ended(
            self, test_db,
            test_user_with_multiple_activities_of_same_category_done_today,
            test_activity):
        unfinished_activity = ActivityManager.start_new_activity(
            test_activity.category)
        unfinished_activity.started_at = unfinished_activity.started_at.shift(
            seconds=-500)
        ActivityGateway.add_new_activity_to_db(unfinished_activity)

        report = TimeSpentInCategoryReport.generate_for_this_category_of_activity(
            test_activity.category, 0)
        assert report[test_activity.category] == 8500
Exemplo n.º 5
0
def test_user_with_multiple_activities_on_multiple_days(test_activity):
    test_activity.end()
    ActivityGateway.update_activity_in_db(test_activity)

    test_sleeping_activity = ActivityManager.start_new_activity('sleeping')
    test_sleeping_activity.started_at = test_sleeping_activity.started_at.shift(
        days=-1)
    test_sleeping_activity.end()
    ActivityGateway.add_new_activity_to_db(test_sleeping_activity)

    test_working_activity = ActivityManager.start_new_activity('working')
    test_working_activity.started_at = test_working_activity.started_at.shift(
        days=-2)
    test_working_activity.end()
    ActivityGateway.add_new_activity_to_db(test_working_activity)
Exemplo n.º 6
0
def test_user_with_multiple_activities_of_same_category_done_today(
        test_activity):
    test_activity.end()
    test_activity.ended_at = test_activity.started_at.shift(seconds=2000)
    ActivityGateway.update_activity_in_db(test_activity)

    second_activity = ActivityManager.start_new_activity(
        test_activity.category)
    second_activity.end()
    second_activity.ended_at = second_activity.started_at.shift(seconds=3000)
    ActivityGateway.add_new_activity_to_db(second_activity)

    third_activity = ActivityManager.start_new_activity(test_activity.category)
    third_activity.end()
    third_activity.ended_at = third_activity.started_at.shift(seconds=3000)
    ActivityGateway.add_new_activity_to_db(third_activity)
Exemplo n.º 7
0
def test_activity():
    a = ActivityManager.start_new_activity('test_activity')
    ActivityGateway.add_new_activity_to_db(a)
    return a
 def start_tracking_new_activity(cls, category: str) -> Activity:
     cls.stop_tracking_last_activity()
     a = cls.start_new_activity(category)
     ActivityGateway.add_new_activity_to_db(a)
     return a
 def test_correct_last_activity_returned_based_on_when_activity_was_created(
         self, test_user_with_multiple_activities_on_multiple_days):
     latest_activity = ActivityManager.start_new_activity('break')
     ActivityGateway.add_new_activity_to_db(latest_activity)
     assert ActivityGateway.fetch_last_activity_started(
     )._id == latest_activity._id