Intitial teams support #147
@ -4,10 +4,11 @@ from django.test import TestCase
|
||||
from django.urls import reverse
|
||||
|
||||
from common.tests.factories.extensions import create_version, create_approved_version
|
||||
from common.tests.factories.teams import TeamFactory
|
||||
from common.tests.factories.users import UserFactory
|
||||
from extensions.models import Extension, Version
|
||||
from files.models import File
|
||||
from teams.models import Team
|
||||
from teams.models import Team, TeamsUsers
|
||||
|
||||
|
||||
def _create_extension():
|
||||
@ -190,7 +191,7 @@ class ExtensionDetailViewTest(_BaseTestCase):
|
||||
|
||||
self._check_detail_page(response, extension)
|
||||
|
||||
def test_can_view_unlisted_extension_if_maintaner(self):
|
||||
def test_can_view_unlisted_extension_if_maintainer(self):
|
||||
extension = _create_extension()
|
||||
|
||||
self.client.force_login(extension.authors.first())
|
||||
@ -198,6 +199,20 @@ class ExtensionDetailViewTest(_BaseTestCase):
|
||||
|
||||
self._check_detail_page(response, extension)
|
||||
|
||||
def test_can_view_unlisted_extension_if_team_member(self):
|
||||
extension = _create_extension()
|
||||
|
||||
team = TeamFactory(slug='test-team')
|
||||
user = UserFactory()
|
||||
TeamsUsers(team=team, user=user).save()
|
||||
extension.team = team
|
||||
extension.save()
|
||||
|
||||
self.client.force_login(user)
|
||||
response = self.client.get(extension.get_manage_url())
|
||||
|
||||
self._check_detail_page(response, extension)
|
||||
|
||||
def test_can_view_publicly_listed_extension_anonymously(self):
|
||||
extension = _create_extension()
|
||||
extension.approve()
|
||||
@ -245,7 +260,7 @@ class ExtensionManageViewTest(_BaseTestCase):
|
||||
|
||||
self.assertEqual(response.status_code, 302)
|
||||
|
||||
def test_can_view_manage_extension_page_if_maintaner(self):
|
||||
def test_can_view_manage_extension_page_if_maintainer(self):
|
||||
extension = _create_extension()
|
||||
extension.approve()
|
||||
|
||||
@ -254,6 +269,20 @@ class ExtensionManageViewTest(_BaseTestCase):
|
||||
|
||||
self._check_manage_page(response, extension)
|
||||
|
||||
def test_can_view_manage_extension_page_if_team_member(self):
|
||||
extension = _create_extension()
|
||||
extension.approve()
|
||||
team = TeamFactory(slug='test-team')
|
||||
user = UserFactory()
|
||||
TeamsUsers(team=team, user=user).save()
|
||||
extension.team = team
|
||||
extension.save()
|
||||
|
||||
self.client.force_login(user)
|
||||
response = self.client.get(extension.get_manage_url())
|
||||
|
||||
self._check_manage_page(response, extension)
|
||||
|
||||
|
||||
class ListedExtensionsTest(_BaseTestCase):
|
||||
def setUp(self):
|
||||
@ -354,3 +383,17 @@ class UpdateVersionViewTest(_BaseTestCase):
|
||||
self.assertEqual(response2.status_code, 302)
|
||||
version.refresh_from_db()
|
||||
self.assertEqual(version.blender_version_max, '4.2.0')
|
||||
|
||||
|
||||
class MyExtensionsTest(_BaseTestCase):
|
||||
def test_team_members_see_extensions_in_my_extensions(self):
|
||||
extension = _create_extension()
|
||||
team = TeamFactory(slug='test-team')
|
||||
user = UserFactory()
|
||||
TeamsUsers(team=team, user=user).save()
|
||||
extension.team = team
|
||||
extension.save()
|
||||
|
||||
self.client.force_login(user)
|
||||
response = self.client.get(reverse('extensions:manage-list'))
|
||||
self.assertContains(response, extension.name)
|
||||
|
Loading…
Reference in New Issue
Block a user