def add_watchers(decision): users = UserFactory.create_batch(size=3, email="*****@*****.**") for user in users: notice_type = NoticeTypeFactory() decision.watchers.add( ObservedItemFactory(added=datetime.now(utc), user=user, observed_object=decision, notice_type=notice_type)) return decision
def test_delete_stops_users_watching_decisions_for_the_organization(self): org_user_delete_view = CustomOrganizationUserDelete() observed_item = ObservedItemFactory() org = observed_item.observed_object.organization user = observed_item.user org_user = OrganizationUserFactory(organization=org, user=user) decision = observed_item.observed_object org_user_delete_view.get_object = lambda: org_user request = RequestFactory() request.user = user org_user_delete_view.delete(request) self.assertSequenceEqual([], decision.watchers.all())
def test_delete_stops_users_watching_feedback_for_the_organization(self): org_user_delete_view = CustomOrganizationUserDelete() feedback = FeedbackFactory() observed_item = ObservedItemFactory(observed_object=feedback) org = observed_item.observed_object.decision.organization user = feedback.author org_user = OrganizationUserFactory(organization=org, user=user) org_user_delete_view.get_object = lambda: org_user request = RequestFactory() request.user = user org_user_delete_view.delete(request) # Two observed items were created for different users # Only the second one should remain after the delete request self.assertSequenceEqual([observed_item], feedback.watchers.all())