minor changes
This commit is contained in:
@@ -704,6 +704,70 @@ class UGCPermissionTests(UGCMediaTestCase, UGCGatedTestCase):
|
||||
# Manual species tag applied.
|
||||
self.assertTrue(TagList.objects.filter(project=self.project, tag__name='dragon').exists())
|
||||
|
||||
def _add_manual_creator_tag(self, name='lizo'):
|
||||
creator_cat = TagCategory.objects.get(slug='creator')
|
||||
tag, _ = Tag.objects.get_or_create(name=name, category=creator_cat, created_by=self.alice)
|
||||
TagList.objects.create(project=self.project, tag=tag, added_by=self.alice)
|
||||
return tag
|
||||
|
||||
def test_edit_shows_manual_creator_tag(self):
|
||||
self.project.sync_creator_tags()
|
||||
self._add_manual_creator_tag('lizo')
|
||||
self.gate()
|
||||
self.client.login(username='Alice', password='pw')
|
||||
resp = self.client.get(reverse('library:project_edit', args=['test-pack']))
|
||||
# The manual creator tag (no matching account) is serialized into the editor.
|
||||
self.assertContains(resp, 'creator:lizo')
|
||||
|
||||
def test_edit_hides_account_backed_creator_tags(self):
|
||||
ProjectContributor.objects.create(project=self.project, user=self.bob, added_by=self.alice)
|
||||
self.project.sync_creator_tags()
|
||||
self._add_manual_creator_tag('lizo')
|
||||
self.gate()
|
||||
self.client.login(username='Alice', password='pw')
|
||||
resp = self.client.get(reverse('library:project_edit', args=['test-pack']))
|
||||
# Manual tag visible; account-backed creator tags (alice, bob) hidden.
|
||||
self.assertContains(resp, 'creator:lizo')
|
||||
self.assertNotContains(resp, 'creator:alice')
|
||||
self.assertNotContains(resp, 'creator:bob')
|
||||
|
||||
def test_edit_removing_manual_creator_tag_deletes_it(self):
|
||||
self.project.sync_creator_tags()
|
||||
self._add_manual_creator_tag('lizo')
|
||||
self.gate()
|
||||
self.client.login(username='Alice', password='pw')
|
||||
resp = self.client.post(
|
||||
reverse('library:project_edit', args=['test-pack']),
|
||||
{'title': 'Test Pack', 'category': 'mod', 'description': 'x', 'tags': ''},
|
||||
)
|
||||
self.assertRedirects(resp, reverse('library:project_detail', args=['test-pack']))
|
||||
# Manual creator tag removed from the form is now deleted...
|
||||
self.assertFalse(
|
||||
TagList.objects.filter(project=self.project, tag__name='lizo').exists()
|
||||
)
|
||||
# ...while the account-backed owner creator tag survives.
|
||||
self.assertTrue(
|
||||
TagList.objects.filter(project=self.project, tag__name='alice').exists()
|
||||
)
|
||||
|
||||
def test_edit_keeps_manual_creator_tag_when_resubmitted(self):
|
||||
self.project.sync_creator_tags()
|
||||
self._add_manual_creator_tag('lizo')
|
||||
self.gate()
|
||||
self.client.login(username='Alice', password='pw')
|
||||
resp = self.client.post(
|
||||
reverse('library:project_edit', args=['test-pack']),
|
||||
{'title': 'Test Pack', 'category': 'mod', 'description': 'x',
|
||||
'tags': 'creator:lizo species:dragon'},
|
||||
)
|
||||
self.assertRedirects(resp, reverse('library:project_detail', args=['test-pack']))
|
||||
self.assertTrue(
|
||||
TagList.objects.filter(project=self.project, tag__name='lizo').exists()
|
||||
)
|
||||
self.assertTrue(
|
||||
TagList.objects.filter(project=self.project, tag__name='dragon').exists()
|
||||
)
|
||||
|
||||
|
||||
class UGCBrowseTests(UGCGatedTestCase):
|
||||
def setUp(self):
|
||||
|
||||
Reference in New Issue
Block a user