Intitial teams support #147
@ -4,10 +4,11 @@ from django.test import TestCase
|
|||||||
from django.urls import reverse
|
from django.urls import reverse
|
||||||
|
|
||||||
from common.tests.factories.extensions import create_version, create_approved_version
|
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 common.tests.factories.users import UserFactory
|
||||||
from extensions.models import Extension, Version
|
from extensions.models import Extension, Version
|
||||||
from files.models import File
|
from files.models import File
|
||||||
from teams.models import Team
|
from teams.models import Team, TeamsUsers
|
||||||
|
|
||||||
|
|
||||||
def _create_extension():
|
def _create_extension():
|
||||||
@ -190,7 +191,7 @@ class ExtensionDetailViewTest(_BaseTestCase):
|
|||||||
|
|
||||||
self._check_detail_page(response, extension)
|
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()
|
extension = _create_extension()
|
||||||
|
|
||||||
self.client.force_login(extension.authors.first())
|
self.client.force_login(extension.authors.first())
|
||||||
@ -198,6 +199,20 @@ class ExtensionDetailViewTest(_BaseTestCase):
|
|||||||
|
|
||||||
self._check_detail_page(response, extension)
|
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):
|
def test_can_view_publicly_listed_extension_anonymously(self):
|
||||||
extension = _create_extension()
|
extension = _create_extension()
|
||||||
extension.approve()
|
extension.approve()
|
||||||
@ -245,7 +260,7 @@ class ExtensionManageViewTest(_BaseTestCase):
|
|||||||
|
|
||||||
self.assertEqual(response.status_code, 302)
|
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 = _create_extension()
|
||||||
extension.approve()
|
extension.approve()
|
||||||
|
|
||||||
@ -254,6 +269,20 @@ class ExtensionManageViewTest(_BaseTestCase):
|
|||||||
|
|
||||||
self._check_manage_page(response, extension)
|
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):
|
class ListedExtensionsTest(_BaseTestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
@ -354,3 +383,17 @@ class UpdateVersionViewTest(_BaseTestCase):
|
|||||||
self.assertEqual(response2.status_code, 302)
|
self.assertEqual(response2.status_code, 302)
|
||||||
version.refresh_from_db()
|
version.refresh_from_db()
|
||||||
self.assertEqual(version.blender_version_max, '4.2.0')
|
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