feat: group people by role priority

This commit is contained in:
mohamad
2026-10-29 03:53:39 +08:00
parent 7c186b4230
commit 641f4e6cee
15 changed files with 186 additions and 45 deletions
+6
View File
@@ -62,11 +62,17 @@ class MainProductDetailViewTest(ProductViewsSetup):
def test_project_and_article_people_are_independent_and_ordered(self):
MainProductPerson.objects.create(main_product=self.main_product, name="Main collaborator", role="Collaborator", order=1)
MainProductPerson.objects.create(main_product=self.main_product, name="Main organizer", role="Organizer", order=9)
MainProductPerson.objects.create(main_product=self.main_product, name="Main leader", role="Leader", order=2)
MainProductPerson.objects.create(main_product=self.main_product, name="Main lead", role="Lead", order=1)
main_article = Article.objects.create(main_product=self.main_product, title="Main article", description="Text")
ArticlePerson.objects.create(article=main_article, name="Article advisor", role="Scientific advisor", order=0)
response = self.client.get(self.main_product.get_absolute_url())
html = response.content.decode()
self.assertLess(html.index("Main lead"), html.index("Main leader"))
self.assertLess(html.index("Main leader"), html.index("Main organizer"))
self.assertLess(html.index("Main organizer"), html.index("Main collaborator"))
self.assertLess(html.index("Lead / Leader"), html.index(">Organizers</h3>"))
self.assertLess(html.index(">Organizers</h3>"), html.index(">Collaborators</h3>"))
self.assertContains(response, "Article advisor")
self.assertNotContains(response, "Sub collaborator")
self.assertContains(response, f'id="article-{main_article.pk}-people"')