def test_is_watched_returns_true_if_user_in_watchers_list(self): user_1 = UserFactory.build(id=1) user_2 = UserFactory.build(id=2) decision = DecisionFactory.build(organization=OrganizationFactory.build()) notice_type = NoticeTypeFactory.build() observed_item_1 = ObservedItemFactory.build(user=user_1, observed_object=decision, notice_type=notice_type) observed_item_2 = ObservedItemFactory.build(user=user_2, observed_object=decision, notice_type=notice_type) mock_item = MagicMock() mock_item.watchers.all = lambda: [observed_item_1, observed_item_2] self.assertTrue(is_watching(user_1, mock_item))
def test_is_watched_returns_true_if_user_in_watchers_list(self): user_1 = UserFactory.build(id=1) user_2 = UserFactory.build(id=2) decision = DecisionFactory.build( organization=OrganizationFactory.build()) notice_type = NoticeTypeFactory.build() observed_item_1 = ObservedItemFactory.build(user=user_1, observed_object=decision, notice_type=notice_type) observed_item_2 = ObservedItemFactory.build(user=user_2, observed_object=decision, notice_type=notice_type) mock_item = MagicMock() mock_item.watchers.all = lambda: [observed_item_1, observed_item_2] self.assertTrue(is_watching(user_1, mock_item))
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 add_watchers(decision): users = UserFactory.build_batch(size=3) watchers = [] for index, user in enumerate(users): user.id = index notice_type = NoticeTypeFactory.build(id=index) decision.watchers.add( ObservedItemFactory.build(id=index, added=datetime.now(utc), user=user, observed_object=decision, notice_type=notice_type)) # decision.watchers = watchers return decision
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())
def add_watchers(decision): users = UserFactory.build_batch(size=3) watchers = [] for index, user in enumerate(users): user.id = index notice_type = NoticeTypeFactory.build(id=index) decision.watchers.add( ObservedItemFactory.build( id=index, added=datetime.now(utc), user=user, observed_object=decision, notice_type=notice_type ) ) # decision.watchers = watchers return decision