def test_new_barrier_ids_current_user(self): """ Changes made by the current user should not be included in new_barrier_ids """ barrier1 = BarrierFactory(priority="LOW") barrier2 = BarrierFactory(priority="MEDIUM") barrier3 = BarrierFactory(priority="HIGH") user = create_test_user(sso_user_id=self.sso_user_data_1["user_id"]) saved_search = SavedSearch.objects.create( user=user, name="Medium", filters={"priority": ["MEDIUM"]}) saved_search.mark_as_seen() assert saved_search.new_barrier_ids == [] # Barriers created by current user should be ignored api_client = self.create_api_client(user=user) report = ReportFactory(priority="MEDIUM", created_by=user) submit_url = reverse("submit-report", kwargs={"pk": report.id}) response = api_client.put(submit_url) assert status.HTTP_200_OK == response.status_code saved_search = SavedSearch.objects.get(pk=saved_search.pk) assert report.pk not in saved_search.new_barrier_ids assert saved_search.new_barrier_ids == [] # Barriers changed by current user should be ignored barrier1.priority = BarrierPriority.objects.get(code="MEDIUM") barrier1.modified_by = user barrier1.save() saved_search = SavedSearch.objects.get(pk=saved_search.pk) assert barrier1.pk not in saved_search.new_barrier_ids assert saved_search.new_barrier_ids == []
def test_new_barriers_since_notified_other_user(self): """ Changes made by other users should be included in new_barriers_since_notified """ barrier1 = BarrierFactory(priority="LOW") barrier2 = BarrierFactory(priority="MEDIUM") barrier3 = BarrierFactory(priority="HIGH") user = create_test_user(sso_user_id=self.sso_user_data_1["user_id"]) user2 = create_test_user(sso_user_id=self.sso_user_data_2["user_id"]) saved_search = SavedSearch.objects.create( user=user, name="Medium", filters={"priority": ["MEDIUM"]}) saved_search.mark_as_notified() assert saved_search.new_barriers_since_notified.exists() is False # Newly created barriers should be in the list barrier4 = BarrierFactory(priority="MEDIUM") barrier5 = BarrierFactory(priority="UNKNOWN") saved_search = SavedSearch.objects.get(pk=saved_search.pk) assert barrier4 in saved_search.new_barriers_since_notified assert saved_search.new_barriers_since_notified.count() == 1 # Existing barriers should be in the list barrier1.priority = BarrierPriority.objects.get(code="MEDIUM") barrier1.modified_by = user2 barrier1.save() saved_search = SavedSearch.objects.get(pk=saved_search.pk) assert barrier1 in saved_search.new_barriers_since_notified
def test_updated_barriers_since_notified_current_user(self): """ Changes made by the current user should not be included in updated_barriers_since_notified """ barrier1 = BarrierFactory(priority="LOW") barrier2 = BarrierFactory(priority="MEDIUM") barrier3 = BarrierFactory(priority="HIGH") user = create_test_user(sso_user_id=self.sso_user_data_1["user_id"]) saved_search = SavedSearch.objects.create( user=user, name="Medium", filters={"priority": ["MEDIUM"]}) saved_search.mark_as_notified() assert saved_search.updated_barriers_since_notified.exists() is False barrier2.summary = "New summary" barrier2.modified_by = user barrier2.save() saved_search = SavedSearch.objects.get(pk=saved_search.pk) assert barrier2 not in saved_search.updated_barriers_since_notified assert saved_search.updated_barriers_since_notified.exists() is False