def test_date_logic(self) -> None: UserPresence.objects.all().delete() user_profile = self.example_user('hamlet') email = user_profile.email presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assertEqual(len(presence_dct), 0) self.login(email) result = self.client_post("/json/users/me/presence", {'status': 'active'}) self.assert_json_success(result) slim_presence = False presence_dct = get_status_dict_by_realm(user_profile.realm_id, slim_presence) self.assertEqual(len(presence_dct), 1) self.assertEqual(presence_dct[email]['website']['status'], 'active') slim_presence = True presence_dct = get_status_dict_by_realm(user_profile.realm_id, slim_presence) self.assertEqual(len(presence_dct), 1) self.assertEqual( presence_dct[str(user_profile.id)]['website']['status'], 'active') def back_date(num_weeks: int) -> None: user_presence = UserPresence.objects.filter( user_profile=user_profile)[0] user_presence.timestamp = timezone_now() - datetime.timedelta( weeks=num_weeks) user_presence.save() # Simulate the presence being a week old first. Nothing should change. back_date(num_weeks=1) presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assertEqual(len(presence_dct), 1) # If the UserPresence row is three weeks old, we ignore it. back_date(num_weeks=3) presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assertEqual(len(presence_dct), 0)
def test_date_logic(self) -> None: UserPresence.objects.all().delete() user_profile = self.example_user("hamlet") email = user_profile.email presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assert_length(presence_dct, 0) self.login_user(user_profile) result = self.client_post("/json/users/me/presence", {"status": "active"}) self.assert_json_success(result) slim_presence = False presence_dct = get_status_dict_by_realm(user_profile.realm_id, slim_presence) self.assert_length(presence_dct, 1) self.assertEqual(presence_dct[email]["website"]["status"], "active") slim_presence = True presence_dct = get_status_dict_by_realm(user_profile.realm_id, slim_presence) self.assert_length(presence_dct, 1) info = presence_dct[str(user_profile.id)] self.assertEqual(set(info.keys()), {"active_timestamp"}) def back_date(num_weeks: int) -> None: user_presence = UserPresence.objects.filter( user_profile=user_profile)[0] user_presence.timestamp = timezone_now() - datetime.timedelta( weeks=num_weeks) user_presence.save() # Simulate the presence being a week old first. Nothing should change. back_date(num_weeks=1) presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assert_length(presence_dct, 1) # If the UserPresence row is three weeks old, we ignore it. back_date(num_weeks=3) presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assert_length(presence_dct, 0)
def pushable() -> bool: presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assert_length(presence_dct, 1) return presence_dct[email]["website"]["pushable"]
def pushable() -> bool: presence_dct = get_status_dict_by_realm(user_profile.realm_id) self.assertEqual(len(presence_dct), 1) return presence_dct[email]['website']['pushable']