mirror of
https://github.com/ae-utbm/sith.git
synced 2025-07-10 03:49:24 +00:00
Rename news moderate to publish
This commit is contained in:
@ -129,14 +129,14 @@ class TestInternalCalendar:
|
||||
|
||||
@pytest.mark.django_db
|
||||
class TestModerateNews:
|
||||
@pytest.mark.parametrize("news_is_moderated", [True, False])
|
||||
def test_moderation_ok(self, client: Client, news_is_moderated: bool): # noqa FBT
|
||||
@pytest.mark.parametrize("news_is_published", [True, False])
|
||||
def test_moderation_ok(self, client: Client, news_is_published: bool): # noqa FBT
|
||||
user = baker.make(
|
||||
User, user_permissions=[Permission.objects.get(codename="moderate_news")]
|
||||
)
|
||||
# The API call should work even if the news is initially moderated.
|
||||
# In the latter case, the result should be a noop, rather than an error.
|
||||
news = baker.make(News, is_moderated=news_is_moderated)
|
||||
news = baker.make(News, is_published=news_is_published)
|
||||
initial_moderator = news.moderator
|
||||
client.force_login(user)
|
||||
response = client.patch(
|
||||
@ -147,22 +147,22 @@ class TestModerateNews:
|
||||
# If it was already moderated, it should be a no-op, but not an error
|
||||
assert response.status_code == 200
|
||||
news.refresh_from_db()
|
||||
assert news.is_moderated
|
||||
if not news_is_moderated:
|
||||
assert news.is_published
|
||||
if not news_is_published:
|
||||
assert news.moderator == user
|
||||
else:
|
||||
assert news.moderator == initial_moderator
|
||||
|
||||
def test_moderation_forbidden(self, client: Client):
|
||||
user = baker.make(User)
|
||||
news = baker.make(News, is_moderated=False)
|
||||
news = baker.make(News, is_published=False)
|
||||
client.force_login(user)
|
||||
response = client.patch(
|
||||
reverse("api:moderate_news", kwargs={"news_id": news.id})
|
||||
)
|
||||
assert response.status_code == 403
|
||||
news.refresh_from_db()
|
||||
assert not news.is_moderated
|
||||
assert not news.is_published
|
||||
|
||||
|
||||
@pytest.mark.django_db
|
||||
@ -203,7 +203,7 @@ class TestFetchNewsDates(TestCase):
|
||||
value=now() + timedelta(hours=2), increment_by=timedelta(days=1)
|
||||
),
|
||||
news=iter(
|
||||
baker.make(News, is_moderated=True, _quantity=5, _bulk_create=True)
|
||||
baker.make(News, is_published=True, _quantity=5, _bulk_create=True)
|
||||
),
|
||||
)
|
||||
cls.dates.append(
|
||||
@ -211,7 +211,7 @@ class TestFetchNewsDates(TestCase):
|
||||
NewsDate,
|
||||
start_date=now() + timedelta(days=2, hours=1),
|
||||
end_date=now() + timedelta(days=2, hours=5),
|
||||
news=baker.make(News, is_moderated=True),
|
||||
news=baker.make(News, is_published=True),
|
||||
)
|
||||
)
|
||||
cls.dates.sort(key=lambda d: d.start_date)
|
||||
|
@ -18,7 +18,7 @@ class TestNewsViewableBy(TestCase):
|
||||
cls.news = baker.make(
|
||||
News,
|
||||
author=itertools.cycle(cls.users),
|
||||
is_moderated=iter([True, True, True, False, False, False]),
|
||||
is_published=iter([True, True, True, False, False, False]),
|
||||
_quantity=6,
|
||||
_bulk_create=True,
|
||||
)
|
||||
|
@ -168,7 +168,7 @@ class TestNews(TestCase):
|
||||
assert not self.new.can_be_viewed_by(self.sli)
|
||||
assert not self.new.can_be_viewed_by(self.anonymous)
|
||||
|
||||
self.new.is_moderated = True
|
||||
self.new.is_published = True
|
||||
self.new.save()
|
||||
assert self.new.can_be_viewed_by(self.com_admin)
|
||||
assert self.new.can_be_viewed_by(self.sli)
|
||||
@ -258,7 +258,7 @@ class TestNewsCreation(TestCase):
|
||||
created = News.objects.order_by("id").last()
|
||||
assertRedirects(response, created.get_absolute_url())
|
||||
assert created.title == "Test news"
|
||||
assert not created.is_moderated
|
||||
assert not created.is_published
|
||||
dates = list(created.dates.values("start_date", "end_date"))
|
||||
assert dates == [{"start_date": self.start, "end_date": self.end}]
|
||||
|
||||
@ -281,7 +281,7 @@ class TestNewsCreation(TestCase):
|
||||
]
|
||||
|
||||
def test_edit_news(self):
|
||||
news = baker.make(News, author=self.user, is_moderated=True)
|
||||
news = baker.make(News, author=self.user, is_published=True)
|
||||
baker.make(
|
||||
NewsDate,
|
||||
news=news,
|
||||
@ -296,7 +296,7 @@ class TestNewsCreation(TestCase):
|
||||
created = News.objects.order_by("id").last()
|
||||
assertRedirects(response, created.get_absolute_url())
|
||||
assert created.title == "Test news"
|
||||
assert not created.is_moderated
|
||||
assert not created.is_published
|
||||
dates = list(created.dates.values("start_date", "end_date"))
|
||||
assert dates == [{"start_date": self.start, "end_date": self.end}]
|
||||
|
||||
|
Reference in New Issue
Block a user