def test_approve_review_by_manager_success(running_interval, client): self_review = SelfReviewFactory(user__with_manager=True, interval=running_interval, published=True) review = ReviewFactory(target=self_review.user, interval=running_interval, pending=True) client.force_login(user=review.target.manager) client.post(review.get_absolute_url(), {'action': 'hidden'}) review.refresh_from_db() assert review.status == review.STATUS.hidden
def test_cant_approve_own_review(running_interval, client): self_review = SelfReviewFactory(user__with_manager=True, interval=running_interval, published=True) review = ReviewFactory(target=self_review.user, interval=running_interval, pending=True) client.force_login(user=review.reviewer) response = client.post(review.get_absolute_url(), {'action': 'hidden'}) assert response.context['approve_form'].errors['__all__'].as_data( )[0].code == 'not_manager' review.refresh_from_db() assert review.status == review.STATUS.pending
def test_submit_review(running_interval, client, action, visitor_slug, expected_status): user = UserFactory(with_manager=True) users = { 'manager': user.manager, 'other_user': UserFactory(), } review = ReviewFactory(interval=running_interval, target=user, reviewer=users[visitor_slug], draft=True) SelfReviewFactory(user=user, interval=running_interval, published=True) client.force_login(user=users[visitor_slug]) response = client.post(review.get_absolute_url(), { 'score': 1, 'text': 'some text', 'interval': running_interval.id, 'action': action }, follow=True) assert response.status_code == 200 review.refresh_from_db() assert review.status == expected_status