Change membership.is_owner to membership.is_admin

remotes/origin/issue/4795/notification_even_they_are_disabled
David Barragán Merino 2016-02-15 14:52:02 +01:00 committed by Jesús Espino
parent 9bdc00a109
commit cc8e5f39b7
64 changed files with 370 additions and 352 deletions

View File

@ -14,6 +14,7 @@
# #
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import logging import logging
from django.apps import apps from django.apps import apps
@ -141,7 +142,7 @@ class PermissionBasedFilterBackend(FilterBackend):
if project_id: if project_id:
memberships_qs = memberships_qs.filter(project_id=project_id) memberships_qs = memberships_qs.filter(project_id=project_id)
memberships_qs = memberships_qs.filter(Q(role__permissions__contains=[self.permission]) | memberships_qs = memberships_qs.filter(Q(role__permissions__contains=[self.permission]) |
Q(is_owner=True)) Q(is_admin=True))
projects_list = [membership.project_id for membership in memberships_qs] projects_list = [membership.project_id for membership in memberships_qs]
@ -242,7 +243,7 @@ class MembersFilterBackend(PermissionBasedFilterBackend):
if project_id: if project_id:
memberships_qs = memberships_qs.filter(project_id=project_id) memberships_qs = memberships_qs.filter(project_id=project_id)
memberships_qs = memberships_qs.filter(Q(role__permissions__contains=[self.permission]) | memberships_qs = memberships_qs.filter(Q(role__permissions__contains=[self.permission]) |
Q(is_owner=True)) Q(is_admin=True))
projects_list = [membership.project_id for membership in memberships_qs] projects_list = [membership.project_id for membership in memberships_qs]
@ -286,7 +287,7 @@ class BaseIsProjectAdminFilterBackend(object):
return [] return []
membership_model = apps.get_model('projects', 'Membership') membership_model = apps.get_model('projects', 'Membership')
memberships_qs = membership_model.objects.filter(user=request.user, is_owner=True) memberships_qs = membership_model.objects.filter(user=request.user, is_admin=True)
if project_id: if project_id:
memberships_qs = memberships_qs.filter(project_id=project_id) memberships_qs = memberships_qs.filter(project_id=project_id)

View File

@ -127,7 +127,7 @@ class ProjectImporterViewSet(mixins.ImportThrottlingPolicyMixin, CreateModelMixi
try: try:
owner_membership = project_serialized.object.memberships.get(user=project_serialized.object.owner) owner_membership = project_serialized.object.memberships.get(user=project_serialized.object.owner)
owner_membership.is_owner = True owner_membership.is_admin = True
owner_membership.save() owner_membership.save()
except Membership.DoesNotExist: except Membership.DoesNotExist:
Membership.objects.create( Membership.objects.create(
@ -135,7 +135,7 @@ class ProjectImporterViewSet(mixins.ImportThrottlingPolicyMixin, CreateModelMixi
email=project_serialized.object.owner.email, email=project_serialized.object.owner.email,
user=project_serialized.object.owner, user=project_serialized.object.owner,
role=project_serialized.object.roles.all().first(), role=project_serialized.object.roles.all().first(),
is_owner=True is_admin=True
) )
# Create project values choicess # Create project values choicess

View File

@ -147,7 +147,7 @@ def dict_to_project(data, owner=None):
email=proj.owner.email, email=proj.owner.email,
user=proj.owner, user=proj.owner,
role=proj.roles.all().first(), role=proj.roles.all().first(),
is_owner=True is_admin=True
) )
if service.get_errors(clear=False): if service.get_errors(clear=False):

View File

@ -82,7 +82,7 @@ MEMBERS_PERMISSIONS = [
('delete_wiki_link', _('Delete wiki link')), ('delete_wiki_link', _('Delete wiki link')),
] ]
OWNERS_PERMISSIONS = [ ADMINS_PERMISSIONS = [
('modify_project', _('Modify project')), ('modify_project', _('Modify project')),
('add_member', _('Add member')), ('add_member', _('Add member')),
('remove_member', _('Remove member')), ('remove_member', _('Remove member')),

View File

@ -16,7 +16,7 @@
# You should have received a copy of the GNU Affero General Public License # You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from .permissions import OWNERS_PERMISSIONS, MEMBERS_PERMISSIONS, ANON_PERMISSIONS, USER_PERMISSIONS from .permissions import ADMINS_PERMISSIONS, MEMBERS_PERMISSIONS, ANON_PERMISSIONS, USER_PERMISSIONS
from django.apps import apps from django.apps import apps
@ -46,7 +46,7 @@ def is_project_owner(user, obj):
return False return False
membership = _get_user_project_membership(user, project) membership = _get_user_project_membership(user, project)
if membership and membership.is_owner: if membership and membership.is_admin:
return True return True
return False return False
@ -74,43 +74,41 @@ def _get_membership_permissions(membership):
def get_user_project_permissions(user, project): def get_user_project_permissions(user, project):
membership = _get_user_project_membership(user, project) membership = _get_user_project_membership(user, project)
if user.is_superuser: if user.is_superuser:
owner_permissions = list(map(lambda perm: perm[0], OWNERS_PERMISSIONS)) admins_permissions = list(map(lambda perm: perm[0], ADMINS_PERMISSIONS))
members_permissions = list(map(lambda perm: perm[0], MEMBERS_PERMISSIONS)) members_permissions = list(map(lambda perm: perm[0], MEMBERS_PERMISSIONS))
public_permissions = list(map(lambda perm: perm[0], USER_PERMISSIONS)) public_permissions = list(map(lambda perm: perm[0], USER_PERMISSIONS))
anon_permissions = list(map(lambda perm: perm[0], ANON_PERMISSIONS)) anon_permissions = list(map(lambda perm: perm[0], ANON_PERMISSIONS))
elif membership: elif membership:
if membership.is_owner: if membership.is_admin:
owner_permissions = list(map(lambda perm: perm[0], OWNERS_PERMISSIONS)) admins_permissions = list(map(lambda perm: perm[0], ADMINS_PERMISSIONS))
members_permissions = list(map(lambda perm: perm[0], MEMBERS_PERMISSIONS)) members_permissions = list(map(lambda perm: perm[0], MEMBERS_PERMISSIONS))
else: else:
owner_permissions = [] admins_permissions = []
members_permissions = [] members_permissions = []
members_permissions = members_permissions + _get_membership_permissions(membership) members_permissions = members_permissions + _get_membership_permissions(membership)
public_permissions = project.public_permissions if project.public_permissions is not None else [] public_permissions = project.public_permissions if project.public_permissions is not None else []
anon_permissions = project.anon_permissions if project.anon_permissions is not None else [] anon_permissions = project.anon_permissions if project.anon_permissions is not None else []
elif user.is_authenticated(): elif user.is_authenticated():
owner_permissions = [] admins_permissions = []
members_permissions = [] members_permissions = []
public_permissions = project.public_permissions if project.public_permissions is not None else [] public_permissions = project.public_permissions if project.public_permissions is not None else []
anon_permissions = project.anon_permissions if project.anon_permissions is not None else [] anon_permissions = project.anon_permissions if project.anon_permissions is not None else []
else: else:
owner_permissions = [] admins_permissions = []
members_permissions = [] members_permissions = []
public_permissions = [] public_permissions = []
anon_permissions = project.anon_permissions if project.anon_permissions is not None else [] anon_permissions = project.anon_permissions if project.anon_permissions is not None else []
return set(owner_permissions + members_permissions + public_permissions + anon_permissions) return set(admins_permissions + members_permissions + public_permissions + anon_permissions)
def set_base_permissions_for_project(project): def set_base_permissions_for_project(project):
if project.is_private: if project.is_private:
project.anon_permissions = [] project.anon_permissions = []
project.public_permissions = [] project.public_permissions = []
else: else:
""" # If a project is public anonymous and registered users should have at
If a project is public anonymous and registered users should have at least visualization permissions # least visualization permissions.
"""
anon_permissions = list(map(lambda perm: perm[0], ANON_PERMISSIONS)) anon_permissions = list(map(lambda perm: perm[0], ANON_PERMISSIONS))
project.anon_permissions = list(set((project.anon_permissions or []) + anon_permissions)) project.anon_permissions = list(set((project.anon_permissions or []) + anon_permissions))
project.public_permissions = list(set((project.public_permissions or []) + anon_permissions)) project.public_permissions = list(set((project.public_permissions or []) + anon_permissions))

View File

@ -353,7 +353,7 @@ class ProjectViewSet(LikedResourceMixin, HistoryResourceMixin,
# Check the user is an admin membership from the project # Check the user is an admin membership from the project
try: try:
project.memberships.get(is_owner=True, user=user) project.memberships.get(is_admin=True, user=user)
except apps.get_model("projects", "Membership").DoesNotExist: except apps.get_model("projects", "Membership").DoesNotExist:
return response.BadRequest(_("The user must be an admin member of the project")) return response.BadRequest(_("The user must be an admin member of the project"))

View File

@ -70,7 +70,7 @@ class CanViewProjectObjFilterBackend(FilterBackend):
if project_id: if project_id:
memberships_qs = memberships_qs.filter(project_id=project_id) memberships_qs = memberships_qs.filter(project_id=project_id)
memberships_qs = memberships_qs.filter(Q(role__permissions__contains=['view_project']) | memberships_qs = memberships_qs.filter(Q(role__permissions__contains=['view_project']) |
Q(is_owner=True)) Q(is_admin=True))
projects_list = [membership.project_id for membership in memberships_qs] projects_list = [membership.project_id for membership in memberships_qs]

View File

@ -150,7 +150,7 @@ class Command(BaseCommand):
Membership.objects.create(email=user.email, Membership.objects.create(email=user.email,
project=project, project=project,
role=role, role=role,
is_owner=self.sd.boolean(), is_admin=self.sd.boolean(),
user=user) user=user)
if role.computable: if role.computable:
@ -163,7 +163,7 @@ class Command(BaseCommand):
Membership.objects.create(email=self.sd.email(), Membership.objects.create(email=self.sd.email(),
project=project, project=project,
role=role, role=role,
is_owner=self.sd.boolean(), is_admin=self.sd.boolean(),
token=''.join(random.sample('abcdef0123456789', 10))) token=''.join(random.sample('abcdef0123456789', 10)))
if role.computable: if role.computable:

View File

@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.2 on 2016-02-15 11:33
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('projects', '0037_auto_20160208_1751'),
]
operations = [
migrations.RenameField(
model_name='membership',
old_name='is_owner',
new_name='is_admin',
),
]

View File

@ -70,7 +70,7 @@ class Membership(models.Model):
related_name="memberships") related_name="memberships")
role = models.ForeignKey("users.Role", null=False, blank=False, role = models.ForeignKey("users.Role", null=False, blank=False,
related_name="memberships") related_name="memberships")
is_owner = models.BooleanField(default=False, null=False, blank=False) is_admin = models.BooleanField(default=False, null=False, blank=False)
# Invitation metadata # Invitation metadata
email = models.EmailField(max_length=255, default=None, null=True, blank=True, email = models.EmailField(max_length=255, default=None, null=True, blank=True,

View File

@ -181,15 +181,14 @@ class MembershipSerializer(serializers.ModelSerializer):
return attrs return attrs
def validate_is_owner(self, attrs, source): def validate_is_admin(self, attrs, source):
is_owner = attrs[source]
project = attrs.get("project", None) project = attrs.get("project", None)
if project is None: if project is None:
project = self.object.project project = self.object.project
if (self.object and if (self.object and
not services.project_has_valid_admins(project, exclude_user=self.object.user)): not services.project_has_valid_admins(project, exclude_user=self.object.user)):
raise serializers.ValidationError(_("The project must have an owner and at least one of the users must be an active admin")) raise serializers.ValidationError(_("In this project at least one of the users must be an active admin."))
return attrs return attrs

View File

@ -40,7 +40,7 @@ def project_has_valid_admins(project, exclude_user=None):
""" """
Checks if the project has any owner membership with a user different than the specified Checks if the project has any owner membership with a user different than the specified
""" """
admin_memberships = project.memberships.filter(is_owner=True, user__is_active=True) admin_memberships = project.memberships.filter(is_admin=True, user__is_active=True)
if exclude_user: if exclude_user:
admin_memberships = admin_memberships.exclude(user=exclude_user) admin_memberships = admin_memberships.exclude(user=exclude_user)
@ -49,7 +49,7 @@ def project_has_valid_admins(project, exclude_user=None):
def can_user_leave_project(user, project): def can_user_leave_project(user, project):
membership = project.memberships.get(user=user) membership = project.memberships.get(user=user)
if not membership.is_owner: if not membership.is_admin:
return True return True
#The user can't leave if is the real owner of the project #The user can't leave if is the real owner of the project

View File

@ -85,7 +85,7 @@ def project_post_save(sender, instance, created, **kwargs):
if owner_role: if owner_role:
Membership = apps.get_model("projects", "Membership") Membership = apps.get_model("projects", "Membership")
Membership.objects.create(user=instance.owner, project=instance, role=owner_role, Membership.objects.create(user=instance.owner, project=instance, role=owner_role,
is_owner=True, email=instance.owner.email) is_admin=True, email=instance.owner.email)
## US statuses ## US statuses

View File

@ -123,7 +123,7 @@ def get_visible_project_ids(from_user, by_user):
#- The to user is the owner #- The to user is the owner
member_perm_conditions |= \ member_perm_conditions |= \
Q(project__id__in=by_user_project_ids, role__permissions__contains=required_permissions) |\ Q(project__id__in=by_user_project_ids, role__permissions__contains=required_permissions) |\
Q(project__id__in=by_user_project_ids, is_owner=True) Q(project__id__in=by_user_project_ids, is_admin=True)
Membership = apps.get_model('projects', 'Membership') Membership = apps.get_model('projects', 'Membership')
#Calculating the user memberships adding the permission filter for the by user #Calculating the user memberships adding the permission filter for the by user

View File

@ -85,19 +85,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
return m return m

View File

@ -64,15 +64,15 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
return m return m

View File

@ -100,19 +100,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_issue_ca = f.IssueCustomAttributeFactory(project=m.public_project) m.public_issue_ca = f.IssueCustomAttributeFactory(project=m.public_project)
m.private_issue_ca1 = f.IssueCustomAttributeFactory(project=m.private_project1) m.private_issue_ca1 = f.IssueCustomAttributeFactory(project=m.private_project1)

View File

@ -90,19 +90,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_issue = f.IssueFactory(project=m.public_project, m.public_issue = f.IssueFactory(project=m.public_project,
status__project=m.public_project, status__project=m.public_project,

View File

@ -82,19 +82,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_milestone = f.MilestoneFactory(project=m.public_project) m.public_milestone = f.MilestoneFactory(project=m.public_project)
m.private_milestone1 = f.MilestoneFactory(project=m.private_project1) m.private_milestone1 = f.MilestoneFactory(project=m.private_project1)

View File

@ -85,19 +85,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
return m return m

View File

@ -78,19 +78,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_points = f.PointsFactory(project=m.public_project) m.public_points = f.PointsFactory(project=m.public_project)
m.private_points1 = f.PointsFactory(project=m.private_project1) m.private_points1 = f.PointsFactory(project=m.private_project1)

View File

@ -69,19 +69,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
ContentType = apps.get_model("contenttypes", "ContentType") ContentType = apps.get_model("contenttypes", "ContentType")
Project = apps.get_model("projects", "Project") Project = apps.get_model("projects", "Project")

View File

@ -66,15 +66,15 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.view_only_membership = f.MembershipFactory(project=m.private_project2, m.view_only_membership = f.MembershipFactory(project=m.private_project2,
user=m.other_user, user=m.other_user,

View File

@ -63,15 +63,15 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_issue = f.IssueFactory(project=m.public_project, m.public_issue = f.IssueFactory(project=m.public_project,
status__project=m.public_project, status__project=m.public_project,

View File

@ -100,19 +100,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_task_ca = f.TaskCustomAttributeFactory(project=m.public_project) m.public_task_ca = f.TaskCustomAttributeFactory(project=m.public_project)
m.private_task_ca1 = f.TaskCustomAttributeFactory(project=m.private_project1) m.private_task_ca1 = f.TaskCustomAttributeFactory(project=m.private_project1)

View File

@ -90,19 +90,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
milestone_public_task = f.MilestoneFactory(project=m.public_project) milestone_public_task = f.MilestoneFactory(project=m.public_project)
milestone_private_task1 = f.MilestoneFactory(project=m.private_project1) milestone_private_task1 = f.MilestoneFactory(project=m.private_project1)

View File

@ -63,15 +63,15 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
return m return m

View File

@ -101,19 +101,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_userstory_ca = f.UserStoryCustomAttributeFactory(project=m.public_project) m.public_userstory_ca = f.UserStoryCustomAttributeFactory(project=m.public_project)
m.private_userstory_ca1 = f.UserStoryCustomAttributeFactory(project=m.private_project1) m.private_userstory_ca1 = f.UserStoryCustomAttributeFactory(project=m.private_project1)

View File

@ -90,19 +90,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_points = f.PointsFactory(project=m.public_project) m.public_points = f.PointsFactory(project=m.public_project)
m.private_points1 = f.PointsFactory(project=m.private_project1) m.private_points1 = f.PointsFactory(project=m.private_project1)

View File

@ -45,10 +45,10 @@ def data():
f.MembershipFactory(project=m.project1, f.MembershipFactory(project=m.project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.webhook1 = f.WebhookFactory(project=m.project1) m.webhook1 = f.WebhookFactory(project=m.project1)
m.webhooklog1 = f.WebhookLogFactory(webhook=m.webhook1) m.webhooklog1 = f.WebhookLogFactory(webhook=m.webhook1)

View File

@ -84,19 +84,19 @@ def data():
f.MembershipFactory(project=m.public_project, f.MembershipFactory(project=m.public_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project1, f.MembershipFactory(project=m.private_project1,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.private_project2, f.MembershipFactory(project=m.private_project2,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
f.MembershipFactory(project=m.blocked_project, f.MembershipFactory(project=m.blocked_project,
user=m.project_owner, user=m.project_owner,
is_owner=True) is_admin=True)
m.public_wiki_page = f.WikiPageFactory(project=m.public_project) m.public_wiki_page = f.WikiPageFactory(project=m.public_project)
m.private_wiki_page1 = f.WikiPageFactory(project=m.private_project1) m.private_wiki_page1 = f.WikiPageFactory(project=m.private_project1)

View File

@ -13,7 +13,7 @@ def test_create_user_story_attachment_without_file(client):
Bug test "Don't create attachments without attached_file" Bug test "Don't create attachments without attached_file"
""" """
us = f.UserStoryFactory.create() us = f.UserStoryFactory.create()
f.MembershipFactory(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory(project=us.project, user=us.owner, is_admin=True)
attachment_data = { attachment_data = {
"description": "test", "description": "test",
"attached_file": None, "attached_file": None,
@ -30,7 +30,7 @@ def test_create_user_story_attachment_without_file(client):
def test_create_attachment_on_wrong_project(client): def test_create_attachment_on_wrong_project(client):
issue1 = f.create_issue() issue1 = f.create_issue()
issue2 = f.create_issue(owner=issue1.owner) issue2 = f.create_issue(owner=issue1.owner)
f.MembershipFactory(project=issue1.project, user=issue1.owner, is_owner=True) f.MembershipFactory(project=issue1.project, user=issue1.owner, is_admin=True)
assert issue1.owner == issue2.owner assert issue1.owner == issue2.owner
assert issue1.project.owner == issue2.project.owner assert issue1.project.owner == issue2.project.owner
@ -49,7 +49,7 @@ def test_create_attachment_on_wrong_project(client):
def test_create_attachment_with_long_file_name(client): def test_create_attachment_with_long_file_name(client):
issue1 = f.create_issue() issue1 = f.create_issue()
f.MembershipFactory(project=issue1.project, user=issue1.owner, is_owner=True) f.MembershipFactory(project=issue1.project, user=issue1.owner, is_admin=True)
url = reverse("issue-attachments-list") url = reverse("issue-attachments-list")

View File

@ -34,7 +34,7 @@ def test_issue_custom_attribute_duplicate_name_error_on_create(client):
custom_attr_1 = f.IssueCustomAttributeFactory() custom_attr_1 = f.IssueCustomAttributeFactory()
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
url = reverse("issue-custom-attributes-list") url = reverse("issue-custom-attributes-list")
@ -51,7 +51,7 @@ def test_issue_custom_attribute_duplicate_name_error_on_update(client):
custom_attr_2 = f.IssueCustomAttributeFactory(project=custom_attr_1.project) custom_attr_2 = f.IssueCustomAttributeFactory(project=custom_attr_1.project)
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
url = reverse("issue-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk}) url = reverse("issue-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk})
@ -67,10 +67,10 @@ def test_issue_custom_attribute_duplicate_name_error_on_move_between_projects(cl
custom_attr_2 = f.IssueCustomAttributeFactory(name=custom_attr_1.name) custom_attr_2 = f.IssueCustomAttributeFactory(name=custom_attr_1.name)
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
f.MembershipFactory(user=custom_attr_1.project.owner, f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_2.project, project=custom_attr_2.project,
is_owner=True) is_admin=True)
url = reverse("issue-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk}) url = reverse("issue-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk})
@ -94,7 +94,7 @@ def test_issue_custom_attributes_values_update(client):
issue = f.IssueFactory() issue = f.IssueFactory()
member = f.MembershipFactory(user=issue.project.owner, member = f.MembershipFactory(user=issue.project.owner,
project=issue.project, project=issue.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project) custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -126,7 +126,7 @@ def test_issue_custom_attributes_values_update_with_error_invalid_key(client):
issue = f.IssueFactory() issue = f.IssueFactory()
member = f.MembershipFactory(user=issue.project.owner, member = f.MembershipFactory(user=issue.project.owner,
project=issue.project, project=issue.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project) custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -151,7 +151,7 @@ def test_issue_custom_attributes_values_delete_issue(client):
issue = f.IssueFactory() issue = f.IssueFactory()
member = f.MembershipFactory(user=issue.project.owner, member = f.MembershipFactory(user=issue.project.owner,
project=issue.project, project=issue.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project) custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -177,7 +177,7 @@ def test_trigger_update_issuecustomvalues_afeter_remove_issuecustomattribute(cli
issue = f.IssueFactory() issue = f.IssueFactory()
member = f.MembershipFactory(user=issue.project.owner, member = f.MembershipFactory(user=issue.project.owner,
project=issue.project, project=issue.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project) custom_attr_1 = f.IssueCustomAttributeFactory(project=issue.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
custom_attr_2 = f.IssueCustomAttributeFactory(project=issue.project) custom_attr_2 = f.IssueCustomAttributeFactory(project=issue.project)

View File

@ -33,7 +33,7 @@ def test_task_custom_attribute_duplicate_name_error_on_create(client):
custom_attr_1 = f.TaskCustomAttributeFactory() custom_attr_1 = f.TaskCustomAttributeFactory()
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
url = reverse("task-custom-attributes-list") url = reverse("task-custom-attributes-list")
@ -50,7 +50,7 @@ def test_task_custom_attribute_duplicate_name_error_on_update(client):
custom_attr_2 = f.TaskCustomAttributeFactory(project=custom_attr_1.project) custom_attr_2 = f.TaskCustomAttributeFactory(project=custom_attr_1.project)
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
url = reverse("task-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk}) url = reverse("task-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk})
@ -66,10 +66,10 @@ def test_task_custom_attribute_duplicate_name_error_on_move_between_projects(cli
custom_attr_2 = f.TaskCustomAttributeFactory(name=custom_attr_1.name) custom_attr_2 = f.TaskCustomAttributeFactory(name=custom_attr_1.name)
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
f.MembershipFactory(user=custom_attr_1.project.owner, f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_2.project, project=custom_attr_2.project,
is_owner=True) is_admin=True)
url = reverse("task-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk}) url = reverse("task-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk})
@ -93,7 +93,7 @@ def test_task_custom_attributes_values_update(client):
task = f.TaskFactory() task = f.TaskFactory()
member = f.MembershipFactory(user=task.project.owner, member = f.MembershipFactory(user=task.project.owner,
project=task.project, project=task.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project) custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -124,7 +124,7 @@ def test_task_custom_attributes_values_update_with_error_invalid_key(client):
task = f.TaskFactory() task = f.TaskFactory()
member = f.MembershipFactory(user=task.project.owner, member = f.MembershipFactory(user=task.project.owner,
project=task.project, project=task.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project) custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -151,7 +151,7 @@ def test_task_custom_attributes_values_delete_task(client):
task = f.TaskFactory() task = f.TaskFactory()
member = f.MembershipFactory(user=task.project.owner, member = f.MembershipFactory(user=task.project.owner,
project=task.project, project=task.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project) custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -177,7 +177,7 @@ def test_trigger_update_taskcustomvalues_afeter_remove_taskcustomattribute(clien
task = f.TaskFactory() task = f.TaskFactory()
member = f.MembershipFactory(user=task.project.owner, member = f.MembershipFactory(user=task.project.owner,
project=task.project, project=task.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project) custom_attr_1 = f.TaskCustomAttributeFactory(project=task.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)

View File

@ -33,7 +33,7 @@ def test_userstory_custom_attribute_duplicate_name_error_on_create(client):
custom_attr_1 = f.UserStoryCustomAttributeFactory() custom_attr_1 = f.UserStoryCustomAttributeFactory()
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
url = reverse("userstory-custom-attributes-list") url = reverse("userstory-custom-attributes-list")
@ -50,7 +50,7 @@ def test_userstory_custom_attribute_duplicate_name_error_on_update(client):
custom_attr_2 = f.UserStoryCustomAttributeFactory(project=custom_attr_1.project) custom_attr_2 = f.UserStoryCustomAttributeFactory(project=custom_attr_1.project)
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
url = reverse("userstory-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk}) url = reverse("userstory-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk})
@ -66,10 +66,10 @@ def test_userstory_custom_attribute_duplicate_name_error_on_move_between_project
custom_attr_2 = f.UserStoryCustomAttributeFactory(name=custom_attr_1.name) custom_attr_2 = f.UserStoryCustomAttributeFactory(name=custom_attr_1.name)
member = f.MembershipFactory(user=custom_attr_1.project.owner, member = f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_1.project, project=custom_attr_1.project,
is_owner=True) is_admin=True)
f.MembershipFactory(user=custom_attr_1.project.owner, f.MembershipFactory(user=custom_attr_1.project.owner,
project=custom_attr_2.project, project=custom_attr_2.project,
is_owner=True) is_admin=True)
url = reverse("userstory-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk}) url = reverse("userstory-custom-attributes-detail", kwargs={"pk": custom_attr_2.pk})
@ -93,7 +93,7 @@ def test_userstory_custom_attributes_values_update(client):
user_story = f.UserStoryFactory() user_story = f.UserStoryFactory()
member = f.MembershipFactory(user=user_story.project.owner, member = f.MembershipFactory(user=user_story.project.owner,
project=user_story.project, project=user_story.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.UserStoryCustomAttributeFactory(project=user_story.project) custom_attr_1 = f.UserStoryCustomAttributeFactory(project=user_story.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -124,7 +124,7 @@ def test_userstory_custom_attributes_values_update_with_error_invalid_key(client
user_story = f.UserStoryFactory() user_story = f.UserStoryFactory()
member = f.MembershipFactory(user=user_story.project.owner, member = f.MembershipFactory(user=user_story.project.owner,
project=user_story.project, project=user_story.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.UserStoryCustomAttributeFactory(project=user_story.project) custom_attr_1 = f.UserStoryCustomAttributeFactory(project=user_story.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)
@ -155,7 +155,7 @@ def test_trigger_update_userstorycustomvalues_afeter_remove_userstorycustomattri
user_story = f.UserStoryFactory() user_story = f.UserStoryFactory()
member = f.MembershipFactory(user=user_story.project.owner, member = f.MembershipFactory(user=user_story.project.owner,
project=user_story.project, project=user_story.project,
is_owner=True) is_admin=True)
custom_attr_1 = f.UserStoryCustomAttributeFactory(project=user_story.project) custom_attr_1 = f.UserStoryCustomAttributeFactory(project=user_story.project)
ct1_id = "{}".format(custom_attr_1.id) ct1_id = "{}".format(custom_attr_1.id)

View File

@ -43,7 +43,7 @@ def test_valid_project_export_with_celery_disabled(client, settings):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("exporter-detail", args=[project.pk]) url = reverse("exporter-detail", args=[project.pk])
@ -59,7 +59,7 @@ def test_valid_project_export_with_celery_enabled(client, settings):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("exporter-detail", args=[project.pk]) url = reverse("exporter-detail", args=[project.pk])
@ -82,7 +82,7 @@ def test_valid_project_with_throttling(client, settings):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("exporter-detail", args=[project.pk]) url = reverse("exporter-detail", args=[project.pk])

View File

@ -27,7 +27,7 @@ pytestmark = pytest.mark.django_db
def test_like_project(client): def test_like_project(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-like", args=(project.id,)) url = reverse("projects-like", args=(project.id,))
client.login(user) client.login(user)
@ -39,7 +39,7 @@ def test_like_project(client):
def test_unlike_project(client): def test_unlike_project(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-unlike", args=(project.id,)) url = reverse("projects-unlike", args=(project.id,))
client.login(user) client.login(user)
@ -51,7 +51,7 @@ def test_unlike_project(client):
def test_list_project_fans(client): def test_list_project_fans(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.LikeFactory.create(content_object=project, user=user) f.LikeFactory.create(content_object=project, user=user)
url = reverse("project-fans-list", args=(project.id,)) url = reverse("project-fans-list", args=(project.id,))
@ -65,7 +65,7 @@ def test_list_project_fans(client):
def test_get_project_fan(client): def test_get_project_fan(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
like = f.LikeFactory.create(content_object=project, user=user) like = f.LikeFactory.create(content_object=project, user=user)
url = reverse("project-fans-detail", args=(project.id, like.user.id)) url = reverse("project-fans-detail", args=(project.id, like.user.id))
@ -79,7 +79,7 @@ def test_get_project_fan(client):
def test_get_project_is_fan(client): def test_get_project_is_fan(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url_detail = reverse("projects-detail", args=(project.id,)) url_detail = reverse("projects-detail", args=(project.id,))
url_like = reverse("projects-like", args=(project.id,)) url_like = reverse("projects-like", args=(project.id,))
url_unlike = reverse("projects-unlike", args=(project.id,)) url_unlike = reverse("projects-unlike", args=(project.id,))

View File

@ -144,7 +144,7 @@ def test_issue_resource_history_test(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
role = f.RoleFactory.create(project=project) role = f.RoleFactory.create(project=project)
f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
issue = f.IssueFactory.create(owner=user, project=project) issue = f.IssueFactory.create(owner=user, project=project)
mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save" mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save"
@ -201,7 +201,7 @@ def test_take_hidden_snapshot():
def test_history_with_only_comment_shouldnot_be_hidden(client): def test_history_with_only_comment_shouldnot_be_hidden(client):
project = f.create_project() project = f.create_project()
us = f.create_userstory(project=project, status__project=project) us = f.create_userstory(project=project, status__project=project)
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
qs_all = HistoryEntry.objects.all() qs_all = HistoryEntry.objects.all()
qs_hidden = qs_all.filter(is_hidden=True) qs_hidden = qs_all.filter(is_hidden=True)
@ -222,7 +222,7 @@ def test_history_with_only_comment_shouldnot_be_hidden(client):
def test_delete_comment_by_project_owner(client): def test_delete_comment_by_project_owner(client):
project = f.create_project() project = f.create_project()
us = f.create_userstory(project=project) us = f.create_userstory(project=project)
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
key = make_key_from_model_object(us) key = make_key_from_model_object(us)
history_entry = f.HistoryEntryFactory.create(type=HistoryType.change, history_entry = f.HistoryEntryFactory.create(type=HistoryType.change,
comment="testing", comment="testing",

View File

@ -345,7 +345,7 @@ def test_issues_event_opened_issue(client):
issue.project.default_severity = issue.severity issue.project.default_severity = issue.severity
issue.project.default_priority = issue.priority issue.project.default_priority = issue.priority
issue.project.save() issue.project.save()
Membership.objects.create(user=issue.owner, project=issue.project, role=f.RoleFactory.create(project=issue.project), is_owner=True) Membership.objects.create(user=issue.owner, project=issue.project, role=f.RoleFactory.create(project=issue.project), is_admin=True)
notify_policy = NotifyPolicy.objects.get(user=issue.owner, project=issue.project) notify_policy = NotifyPolicy.objects.get(user=issue.owner, project=issue.project)
notify_policy.notify_level = NotifyLevel.all notify_policy.notify_level = NotifyLevel.all
notify_policy.save() notify_policy.save()
@ -551,7 +551,7 @@ def test_issues_event_bad_comment(client):
def test_api_get_project_modules(client): def test_api_get_project_modules(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("projects-modules", args=(project.id,)) url = reverse("projects-modules", args=(project.id,))
@ -566,7 +566,7 @@ def test_api_get_project_modules(client):
def test_api_patch_project_modules(client): def test_api_patch_project_modules(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("projects-modules", args=(project.id,)) url = reverse("projects-modules", args=(project.id,))

View File

@ -260,7 +260,7 @@ def test_issues_event_opened_issue(client):
issue.project.default_severity = issue.severity issue.project.default_severity = issue.severity
issue.project.default_priority = issue.priority issue.project.default_priority = issue.priority
issue.project.save() issue.project.save()
Membership.objects.create(user=issue.owner, project=issue.project, role=f.RoleFactory.create(project=issue.project), is_owner=True) Membership.objects.create(user=issue.owner, project=issue.project, role=f.RoleFactory.create(project=issue.project), is_admin=True)
notify_policy = NotifyPolicy.objects.get(user=issue.owner, project=issue.project) notify_policy = NotifyPolicy.objects.get(user=issue.owner, project=issue.project)
notify_policy.notify_level = NotifyLevel.all notify_policy.notify_level = NotifyLevel.all
notify_policy.save() notify_policy.save()
@ -457,7 +457,7 @@ def test_issues_event_bad_comment(client):
def test_api_get_project_modules(client): def test_api_get_project_modules(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("projects-modules", args=(project.id,)) url = reverse("projects-modules", args=(project.id,))
@ -472,7 +472,7 @@ def test_api_get_project_modules(client):
def test_api_patch_project_modules(client): def test_api_patch_project_modules(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("projects-modules", args=(project.id,)) url = reverse("projects-modules", args=(project.id,))

View File

@ -408,7 +408,7 @@ def test_issues_event_opened_issue(client):
issue.project.default_severity = issue.severity issue.project.default_severity = issue.severity
issue.project.default_priority = issue.priority issue.project.default_priority = issue.priority
issue.project.save() issue.project.save()
Membership.objects.create(user=issue.owner, project=issue.project, role=f.RoleFactory.create(project=issue.project), is_owner=True) Membership.objects.create(user=issue.owner, project=issue.project, role=f.RoleFactory.create(project=issue.project), is_admin=True)
notify_policy = NotifyPolicy.objects.get(user=issue.owner, project=issue.project) notify_policy = NotifyPolicy.objects.get(user=issue.owner, project=issue.project)
notify_policy.notify_level = NotifyLevel.all notify_policy.notify_level = NotifyLevel.all
notify_policy.save() notify_policy.save()
@ -616,7 +616,7 @@ def test_issues_event_bad_comment(client):
def test_api_get_project_modules(client): def test_api_get_project_modules(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("projects-modules", args=(project.id,)) url = reverse("projects-modules", args=(project.id,))
@ -631,7 +631,7 @@ def test_api_get_project_modules(client):
def test_api_patch_project_modules(client): def test_api_patch_project_modules(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("projects-modules", args=(project.id,)) url = reverse("projects-modules", args=(project.id,))

View File

@ -360,7 +360,7 @@ def test_invalid_project_import_with_custom_attributes(client):
def test_invalid_issue_import(client): def test_invalid_issue_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-issue", args=[project.pk]) url = reverse("importer-issue", args=[project.pk])
@ -373,7 +373,7 @@ def test_invalid_issue_import(client):
def test_valid_user_story_import(client): def test_valid_user_story_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -394,7 +394,7 @@ def test_valid_user_story_import(client):
def test_valid_user_story_import_with_custom_attributes_values(client): def test_valid_user_story_import_with_custom_attributes_values(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
membership = f.MembershipFactory(project=project, user=user, is_owner=True) membership = f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project)
project.save() project.save()
custom_attr = f.UserStoryCustomAttributeFactory(project=project) custom_attr = f.UserStoryCustomAttributeFactory(project=project)
@ -418,7 +418,7 @@ def test_valid_user_story_import_with_custom_attributes_values(client):
def test_valid_issue_import_without_extra_data(client): def test_valid_issue_import_without_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project)
project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project)
project.default_severity = f.SeverityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project)
@ -441,7 +441,7 @@ def test_valid_issue_import_without_extra_data(client):
def test_valid_issue_import_with_custom_attributes_values(client): def test_valid_issue_import_with_custom_attributes_values(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
membership = f.MembershipFactory(project=project, user=user, is_owner=True) membership = f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project)
project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project)
project.default_severity = f.SeverityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project)
@ -469,7 +469,7 @@ def test_valid_issue_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_watching = f.UserFactory.create(email="testing@taiga.io") user_watching = f.UserFactory.create(email="testing@taiga.io")
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project)
project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project)
project.default_severity = f.SeverityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project)
@ -505,7 +505,7 @@ def test_valid_issue_import_with_extra_data(client):
def test_invalid_issue_import_with_extra_data(client): def test_invalid_issue_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project)
project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project)
project.default_severity = f.SeverityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project)
@ -530,7 +530,7 @@ def test_invalid_issue_import_with_extra_data(client):
def test_invalid_issue_import_with_bad_choices(client): def test_invalid_issue_import_with_bad_choices(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project)
project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project)
project.default_severity = f.SeverityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project)
@ -590,7 +590,7 @@ def test_invalid_issue_import_with_bad_choices(client):
def test_invalid_us_import(client): def test_invalid_us_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-us", args=[project.pk]) url = reverse("importer-us", args=[project.pk])
@ -603,7 +603,7 @@ def test_invalid_us_import(client):
def test_valid_us_import_without_extra_data(client): def test_valid_us_import_without_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -624,7 +624,7 @@ def test_valid_us_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_watching = f.UserFactory.create(email="testing@taiga.io") user_watching = f.UserFactory.create(email="testing@taiga.io")
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -655,7 +655,7 @@ def test_valid_us_import_with_extra_data(client):
def test_invalid_us_import_with_extra_data(client): def test_invalid_us_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -677,7 +677,7 @@ def test_invalid_us_import_with_extra_data(client):
def test_invalid_us_import_with_bad_choices(client): def test_invalid_us_import_with_bad_choices(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_us_status = f.UserStoryStatusFactory.create(project=project) project.default_us_status = f.UserStoryStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -698,7 +698,7 @@ def test_invalid_us_import_with_bad_choices(client):
def test_invalid_task_import(client): def test_invalid_task_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-task", args=[project.pk]) url = reverse("importer-task", args=[project.pk])
@ -711,7 +711,7 @@ def test_invalid_task_import(client):
def test_valid_task_import_without_extra_data(client): def test_valid_task_import_without_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -731,7 +731,7 @@ def test_valid_task_import_without_extra_data(client):
def test_valid_task_import_with_custom_attributes_values(client): def test_valid_task_import_with_custom_attributes_values(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
membership = f.MembershipFactory(project=project, user=user, is_owner=True) membership = f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project)
project.save() project.save()
custom_attr = f.TaskCustomAttributeFactory(project=project) custom_attr = f.TaskCustomAttributeFactory(project=project)
@ -756,7 +756,7 @@ def test_valid_task_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_watching = f.UserFactory.create(email="testing@taiga.io") user_watching = f.UserFactory.create(email="testing@taiga.io")
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -787,7 +787,7 @@ def test_valid_task_import_with_extra_data(client):
def test_invalid_task_import_with_extra_data(client): def test_invalid_task_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -809,7 +809,7 @@ def test_invalid_task_import_with_extra_data(client):
def test_invalid_task_import_with_bad_choices(client): def test_invalid_task_import_with_bad_choices(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project)
project.save() project.save()
client.login(user) client.login(user)
@ -830,7 +830,7 @@ def test_invalid_task_import_with_bad_choices(client):
def test_valid_task_with_user_story(client): def test_valid_task_with_user_story(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
project.default_task_status = f.TaskStatusFactory.create(project=project) project.default_task_status = f.TaskStatusFactory.create(project=project)
us = f.UserStoryFactory.create(project=project) us = f.UserStoryFactory.create(project=project)
project.save() project.save()
@ -851,7 +851,7 @@ def test_valid_task_with_user_story(client):
def test_invalid_wiki_page_import(client): def test_invalid_wiki_page_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-wiki-page", args=[project.pk]) url = reverse("importer-wiki-page", args=[project.pk])
@ -864,7 +864,7 @@ def test_invalid_wiki_page_import(client):
def test_valid_wiki_page_import_without_extra_data(client): def test_valid_wiki_page_import_without_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-wiki-page", args=[project.pk]) url = reverse("importer-wiki-page", args=[project.pk])
@ -882,7 +882,7 @@ def test_valid_wiki_page_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_watching = f.UserFactory.create(email="testing@taiga.io") user_watching = f.UserFactory.create(email="testing@taiga.io")
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-wiki-page", args=[project.pk]) url = reverse("importer-wiki-page", args=[project.pk])
@ -910,7 +910,7 @@ def test_valid_wiki_page_import_with_extra_data(client):
def test_invalid_wiki_page_import_with_extra_data(client): def test_invalid_wiki_page_import_with_extra_data(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-wiki-page", args=[project.pk]) url = reverse("importer-wiki-page", args=[project.pk])
@ -930,7 +930,7 @@ def test_invalid_wiki_page_import_with_extra_data(client):
def test_invalid_wiki_link_import(client): def test_invalid_wiki_link_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-wiki-link", args=[project.pk]) url = reverse("importer-wiki-link", args=[project.pk])
@ -943,7 +943,7 @@ def test_invalid_wiki_link_import(client):
def test_valid_wiki_link_import(client): def test_valid_wiki_link_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-wiki-link", args=[project.pk]) url = reverse("importer-wiki-link", args=[project.pk])
@ -961,7 +961,7 @@ def test_valid_wiki_link_import(client):
def test_invalid_milestone_import(client): def test_invalid_milestone_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-milestone", args=[project.pk]) url = reverse("importer-milestone", args=[project.pk])
@ -975,7 +975,7 @@ def test_valid_milestone_import(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_watching = f.UserFactory.create(email="testing@taiga.io") user_watching = f.UserFactory.create(email="testing@taiga.io")
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-milestone", args=[project.pk]) url = reverse("importer-milestone", args=[project.pk])
@ -993,7 +993,7 @@ def test_valid_milestone_import(client):
def test_milestone_import_duplicated_milestone(client): def test_milestone_import_duplicated_milestone(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("importer-milestone", args=[project.pk]) url = reverse("importer-milestone", args=[project.pk])

View File

@ -58,7 +58,7 @@ def test_create_issue_without_status(client):
project.default_severity = severity project.default_severity = severity
project.default_issue_type = type project.default_issue_type = type
project.save() project.save()
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("issues-list") url = reverse("issues-list")
data = {"subject": "Test user story", "project": project.id} data = {"subject": "Test user story", "project": project.id}
@ -79,7 +79,7 @@ def test_create_issue_without_status_in_project_without_default_values(client):
default_severity=None, default_severity=None,
default_issue_type = None) default_issue_type = None)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("issues-list") url = reverse("issues-list")
data = {"subject": "Test user story", "project": project.id} data = {"subject": "Test user story", "project": project.id}
@ -94,7 +94,7 @@ def test_create_issue_without_status_in_project_without_default_values(client):
def test_api_create_issues_in_bulk(client): def test_api_create_issues_in_bulk(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("issues-bulk-create") url = reverse("issues-bulk-create")

View File

@ -34,7 +34,7 @@ def test_api_create_bulk_members(client):
joseph = f.UserFactory.create() joseph = f.UserFactory.create()
tester = f.RoleFactory(project=project, name="Tester") tester = f.RoleFactory(project=project, name="Tester")
gamer = f.RoleFactory(project=project, name="Gamer") gamer = f.RoleFactory(project=project, name="Gamer")
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("memberships-bulk-create") url = reverse("memberships-bulk-create")
@ -57,7 +57,7 @@ def test_api_create_bulk_members_without_enough_memberships_private_project_slot
user = f.UserFactory.create(max_members_private_projects=3) user = f.UserFactory.create(max_members_private_projects=3)
project = f.ProjectFactory(owner=user, is_private=True) project = f.ProjectFactory(owner=user, is_private=True)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
url = reverse("memberships-bulk-create") url = reverse("memberships-bulk-create")
@ -81,7 +81,7 @@ def test_api_create_bulk_members_with_enough_memberships_private_project_slots_m
user = f.UserFactory.create(max_members_private_projects=6) user = f.UserFactory.create(max_members_private_projects=6)
project = f.ProjectFactory(owner=user, is_private=True) project = f.ProjectFactory(owner=user, is_private=True)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
other_project = f.ProjectFactory(owner=user) other_project = f.ProjectFactory(owner=user)
f.MembershipFactory.create(project=other_project) f.MembershipFactory.create(project=other_project)
@ -110,7 +110,7 @@ def test_api_create_bulk_members_without_enough_memberships_public_project_slots
user = f.UserFactory.create(max_members_public_projects=3) user = f.UserFactory.create(max_members_public_projects=3)
project = f.ProjectFactory(owner=user, is_private=False) project = f.ProjectFactory(owner=user, is_private=False)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
url = reverse("memberships-bulk-create") url = reverse("memberships-bulk-create")
@ -134,7 +134,7 @@ def test_api_create_bulk_members_with_enough_memberships_public_project_slots_mu
user = f.UserFactory.create(max_members_public_projects=6) user = f.UserFactory.create(max_members_public_projects=6)
project = f.ProjectFactory(owner=user, is_private=False) project = f.ProjectFactory(owner=user, is_private=False)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
other_project = f.ProjectFactory(owner=user) other_project = f.ProjectFactory(owner=user)
f.MembershipFactory.create(project=other_project) f.MembershipFactory.create(project=other_project)
@ -162,7 +162,7 @@ def test_api_create_bulk_members_with_enough_memberships_public_project_slots_mu
def test_api_create_bulk_members_with_extra_text(client, outbox): def test_api_create_bulk_members_with_extra_text(client, outbox):
project = f.ProjectFactory() project = f.ProjectFactory()
tester = f.RoleFactory(project=project, name="Tester") tester = f.RoleFactory(project=project, name="Tester")
f.MembershipFactory(project=project, user=project.owner, is_owner=True) f.MembershipFactory(project=project, user=project.owner, is_admin=True)
url = reverse("memberships-bulk-create") url = reverse("memberships-bulk-create")
invitation_extra_text = "this is a not so random invitation text" invitation_extra_text = "this is a not so random invitation text"
@ -187,7 +187,7 @@ def test_api_create_bulk_members_with_extra_text(client, outbox):
def test_api_resend_invitation(client, outbox): def test_api_resend_invitation(client, outbox):
invitation = f.create_invitation(user=None) invitation = f.create_invitation(user=None)
f.MembershipFactory(project=invitation.project, user=invitation.project.owner, is_owner=True) f.MembershipFactory(project=invitation.project, user=invitation.project.owner, is_admin=True)
url = reverse("memberships-resend-invitation", kwargs={"pk": invitation.pk}) url = reverse("memberships-resend-invitation", kwargs={"pk": invitation.pk})
client.login(invitation.project.owner) client.login(invitation.project.owner)
@ -202,7 +202,7 @@ def test_api_invite_existing_user(client, outbox):
"Should create the invitation linked to that user" "Should create the invitation linked to that user"
user = f.UserFactory.create() user = f.UserFactory.create()
role = f.RoleFactory.create() role = f.RoleFactory.create()
f.MembershipFactory(project=role.project, user=role.project.owner, is_owner=True) f.MembershipFactory(project=role.project, user=role.project.owner, is_admin=True)
client.login(role.project.owner) client.login(role.project.owner)
@ -255,7 +255,7 @@ def test_api_create_invalid_membership_role_doesnt_exist_in_the_project(client):
def test_api_create_membership(client): def test_api_create_membership(client):
membership = f.MembershipFactory(is_owner=True) membership = f.MembershipFactory(is_admin=True)
role = f.RoleFactory.create(project=membership.project) role = f.RoleFactory.create(project=membership.project)
user = f.UserFactory.create() user = f.UserFactory.create()
@ -272,7 +272,7 @@ def test_api_create_membership_without_enough_memberships_private_project_slots_
user = f.UserFactory.create(max_members_private_projects=1) user = f.UserFactory.create(max_members_private_projects=1)
project = f.ProjectFactory(owner=user, is_private=True) project = f.ProjectFactory(owner=user, is_private=True)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("memberships-list") url = reverse("memberships-list")
@ -287,7 +287,7 @@ def test_api_create_membership_with_enough_memberships_private_project_slots_mul
user = f.UserFactory.create(max_members_private_projects=5) user = f.UserFactory.create(max_members_private_projects=5)
project = f.ProjectFactory(owner=user, is_private=True) project = f.ProjectFactory(owner=user, is_private=True)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
other_project = f.ProjectFactory(owner=user) other_project = f.ProjectFactory(owner=user)
f.MembershipFactory.create(project=other_project) f.MembershipFactory.create(project=other_project)
@ -307,7 +307,7 @@ def test_api_create_membership_without_enough_memberships_public_project_slots_o
user = f.UserFactory.create(max_members_public_projects=1) user = f.UserFactory.create(max_members_public_projects=1)
project = f.ProjectFactory(owner=user, is_private=False) project = f.ProjectFactory(owner=user, is_private=False)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
url = reverse("memberships-list") url = reverse("memberships-list")
@ -322,7 +322,7 @@ def test_api_create_membership_with_enough_memberships_public_project_slots_mult
user = f.UserFactory.create(max_members_public_projects=5) user = f.UserFactory.create(max_members_public_projects=5)
project = f.ProjectFactory(owner=user, is_private=False) project = f.ProjectFactory(owner=user, is_private=False)
role = f.RoleFactory(project=project, name="Test") role = f.RoleFactory(project=project, name="Test")
f.MembershipFactory(project=project, user=user, is_owner=True) f.MembershipFactory(project=project, user=user, is_admin=True)
other_project = f.ProjectFactory(owner=user) other_project = f.ProjectFactory(owner=user)
f.MembershipFactory.create(project=other_project) f.MembershipFactory.create(project=other_project)
@ -339,7 +339,7 @@ def test_api_create_membership_with_enough_memberships_public_project_slots_mult
def test_api_edit_membership(client): def test_api_edit_membership(client):
membership = f.MembershipFactory(is_owner=True) membership = f.MembershipFactory(is_admin=True)
client.login(membership.user) client.login(membership.user)
url = reverse("memberships-detail", args=[membership.id]) url = reverse("memberships-detail", args=[membership.id])
data = {"email": "new@email.com"} data = {"email": "new@email.com"}
@ -349,14 +349,14 @@ def test_api_edit_membership(client):
def test_api_delete_membership(client): def test_api_delete_membership(client):
membership = f.MembershipFactory(is_owner=True) membership = f.MembershipFactory(is_admin=True)
client.login(membership.user) client.login(membership.user)
url = reverse("memberships-detail", args=[membership.id]) url = reverse("memberships-detail", args=[membership.id])
response = client.json.delete(url) response = client.json.delete(url)
assert response.status_code == 400 assert response.status_code == 400
f.MembershipFactory(is_owner=True, project=membership.project) f.MembershipFactory(is_admin=True, project=membership.project)
url = reverse("memberships-detail", args=[membership.id]) url = reverse("memberships-detail", args=[membership.id])
response = client.json.delete(url) response = client.json.delete(url)
@ -365,7 +365,7 @@ def test_api_delete_membership(client):
def test_api_delete_membership_without_user(client): def test_api_delete_membership_without_user(client):
membership_owner = f.MembershipFactory(is_owner=True) membership_owner = f.MembershipFactory(is_admin=True)
membership_without_user_one = f.MembershipFactory(project=membership_owner.project, user=None) membership_without_user_one = f.MembershipFactory(project=membership_owner.project, user=None)
f.MembershipFactory(project=membership_owner.project, user=None) f.MembershipFactory(project=membership_owner.project, user=None)
client.login(membership_owner.user) client.login(membership_owner.user)

View File

@ -33,7 +33,7 @@ def test_update_milestone_with_userstories_list(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
role = f.RoleFactory.create(project=project) role = f.RoleFactory.create(project=project)
f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
sprint = f.MilestoneFactory.create(project=project, owner=user) sprint = f.MilestoneFactory.create(project=project, owner=user)
f.PointsFactory.create(project=project, value=None) f.PointsFactory.create(project=project, value=None)
us = f.UserStoryFactory.create(project=project, owner=user) us = f.UserStoryFactory.create(project=project, owner=user)
@ -54,7 +54,7 @@ def test_list_milestones_taiga_info_headers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
role = f.RoleFactory.create(project=project) role = f.RoleFactory.create(project=project)
f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
f.MilestoneFactory.create(project=project, owner=user, closed=True) f.MilestoneFactory.create(project=project, owner=user, closed=True)
f.MilestoneFactory.create(project=project, owner=user, closed=True) f.MilestoneFactory.create(project=project, owner=user, closed=True)

View File

@ -720,7 +720,7 @@ def test_resource_notification_test(client, settings, mail):
user2 = f.UserFactory.create() user2 = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user1) project = f.ProjectFactory.create(owner=user1)
role = f.RoleFactory.create(project=project, permissions=["view_issues"]) role = f.RoleFactory.create(project=project, permissions=["view_issues"])
f.MembershipFactory.create(project=project, user=user1, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=user1, role=role, is_admin=True)
f.MembershipFactory.create(project=project, user=user2, role=role) f.MembershipFactory.create(project=project, user=user2, role=role)
issue = f.IssueFactory.create(owner=user2, project=project) issue = f.IssueFactory.create(owner=user2, project=project)
@ -758,7 +758,7 @@ def test_watchers_assignation_for_issue(client):
project2 = f.ProjectFactory.create(owner=user2) project2 = f.ProjectFactory.create(owner=user2)
role1 = f.RoleFactory.create(project=project1) role1 = f.RoleFactory.create(project=project1)
role2 = f.RoleFactory.create(project=project2) role2 = f.RoleFactory.create(project=project2)
f.MembershipFactory.create(project=project1, user=user1, role=role1, is_owner=True) f.MembershipFactory.create(project=project1, user=user1, role=role1, is_admin=True)
f.MembershipFactory.create(project=project2, user=user2, role=role2) f.MembershipFactory.create(project=project2, user=user2, role=role2)
client.login(user1) client.login(user1)
@ -810,7 +810,7 @@ def test_watchers_assignation_for_task(client):
project2 = f.ProjectFactory.create(owner=user2) project2 = f.ProjectFactory.create(owner=user2)
role1 = f.RoleFactory.create(project=project1, permissions=list(map(lambda x: x[0], MEMBERS_PERMISSIONS))) role1 = f.RoleFactory.create(project=project1, permissions=list(map(lambda x: x[0], MEMBERS_PERMISSIONS)))
role2 = f.RoleFactory.create(project=project2) role2 = f.RoleFactory.create(project=project2)
f.MembershipFactory.create(project=project1, user=user1, role=role1, is_owner=True) f.MembershipFactory.create(project=project1, user=user1, role=role1, is_admin=True)
f.MembershipFactory.create(project=project2, user=user2, role=role2) f.MembershipFactory.create(project=project2, user=user2, role=role2)
client.login(user1) client.login(user1)
@ -862,7 +862,7 @@ def test_watchers_assignation_for_us(client):
project2 = f.ProjectFactory.create(owner=user2) project2 = f.ProjectFactory.create(owner=user2)
role1 = f.RoleFactory.create(project=project1) role1 = f.RoleFactory.create(project=project1)
role2 = f.RoleFactory.create(project=project2) role2 = f.RoleFactory.create(project=project2)
f.MembershipFactory.create(project=project1, user=user1, role=role1, is_owner=True) f.MembershipFactory.create(project=project1, user=user1, role=role1, is_admin=True)
f.MembershipFactory.create(project=project2, user=user2, role=role2) f.MembershipFactory.create(project=project2, user=user2, role=role2)
client.login(user1) client.login(user1)

View File

@ -30,7 +30,7 @@ pytestmark = pytest.mark.django_db
def test_valid_us_creation(client): def test_valid_us_creation(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
@ -47,7 +47,7 @@ def test_valid_us_creation(client):
def test_invalid_concurrent_save_for_issue(client): def test_invalid_concurrent_save_for_issue(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save" mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save"
@ -76,7 +76,7 @@ def test_invalid_concurrent_save_for_issue(client):
def test_valid_concurrent_save_for_issue_different_versions(client): def test_valid_concurrent_save_for_issue_different_versions(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save" mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save"
@ -105,7 +105,7 @@ def test_valid_concurrent_save_for_issue_different_versions(client):
def test_valid_concurrent_save_for_issue_different_fields(client): def test_valid_concurrent_save_for_issue_different_fields(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save" mock_path = "taiga.projects.issues.api.IssueViewSet.pre_conditions_on_save"
@ -134,7 +134,7 @@ def test_valid_concurrent_save_for_issue_different_fields(client):
def test_invalid_concurrent_save_for_wiki_page(client): def test_invalid_concurrent_save_for_wiki_page(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.wiki.api.WikiViewSet.pre_conditions_on_save" mock_path = "taiga.projects.wiki.api.WikiViewSet.pre_conditions_on_save"
@ -158,7 +158,7 @@ def test_invalid_concurrent_save_for_wiki_page(client):
def test_valid_concurrent_save_for_wiki_page_different_versions(client): def test_valid_concurrent_save_for_wiki_page_different_versions(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.wiki.api.WikiViewSet.pre_conditions_on_save" mock_path = "taiga.projects.wiki.api.WikiViewSet.pre_conditions_on_save"
@ -182,7 +182,7 @@ def test_valid_concurrent_save_for_wiki_page_different_versions(client):
def test_invalid_concurrent_save_for_us(client): def test_invalid_concurrent_save_for_us(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.UserStoryFactory.create(version=10, project=project) f.UserStoryFactory.create(version=10, project=project)
client.login(user) client.login(user)
@ -209,7 +209,7 @@ def test_invalid_concurrent_save_for_us(client):
def test_valid_concurrent_save_for_us_different_versions(client): def test_valid_concurrent_save_for_us_different_versions(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.userstories.api.UserStoryViewSet.pre_conditions_on_save" mock_path = "taiga.projects.userstories.api.UserStoryViewSet.pre_conditions_on_save"
@ -235,7 +235,7 @@ def test_valid_concurrent_save_for_us_different_versions(client):
def test_valid_concurrent_save_for_us_different_fields(client): def test_valid_concurrent_save_for_us_different_fields(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.userstories.api.UserStoryViewSet.pre_conditions_on_save" mock_path = "taiga.projects.userstories.api.UserStoryViewSet.pre_conditions_on_save"
@ -261,7 +261,7 @@ def test_valid_concurrent_save_for_us_different_fields(client):
def test_invalid_concurrent_save_for_task(client): def test_invalid_concurrent_save_for_task(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save" mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save"
@ -287,7 +287,7 @@ def test_invalid_concurrent_save_for_task(client):
def test_valid_concurrent_save_for_task_different_versions(client): def test_valid_concurrent_save_for_task_different_versions(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save" mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save"
@ -313,7 +313,7 @@ def test_valid_concurrent_save_for_task_different_versions(client):
def test_valid_concurrent_save_for_task_different_fields(client): def test_valid_concurrent_save_for_task_different_fields(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save" mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save"
@ -340,7 +340,7 @@ def test_valid_concurrent_save_for_task_different_fields(client):
def test_invalid_save_without_version_parameter(client): def test_invalid_save_without_version_parameter(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
client.login(user) client.login(user)
mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save" mock_path = "taiga.projects.tasks.api.TaskViewSet.pre_conditions_on_save"

View File

@ -64,11 +64,11 @@ def test_owner_member_get_user_project_permissions():
project.anon_permissions = ["test1"] project.anon_permissions = ["test1"]
project.public_permissions = ["test2"] project.public_permissions = ["test2"]
role = factories.RoleFactory(permissions=["test3"]) role = factories.RoleFactory(permissions=["test3"])
factories.MembershipFactory(user=user1, project=project, role=role, is_owner=True) factories.MembershipFactory(user=user1, project=project, role=role, is_admin=True)
expected_perms = set( expected_perms = set(
["test1", "test2", "test3"] + ["test1", "test2", "test3"] +
[x[0] for x in permissions.OWNERS_PERMISSIONS] + [x[0] for x in permissions.ADMINS_PERMISSIONS] +
[x[0] for x in permissions.MEMBERS_PERMISSIONS] [x[0] for x in permissions.MEMBERS_PERMISSIONS]
) )
assert service.get_user_project_permissions(user1, project) == expected_perms assert service.get_user_project_permissions(user1, project) == expected_perms

View File

@ -90,7 +90,7 @@ def test_create_public_project_without_enough_public_projects_slots(client):
def test_change_project_from_private_to_public_without_enough_public_projects_slots(client): def test_change_project_from_private_to_public_without_enough_public_projects_slots(client):
project = f.create_project(is_private=True, owner__max_public_projects=0) project = f.create_project(is_private=True, owner__max_public_projects=0)
f.MembershipFactory(user=project.owner, project=project, is_owner=True) f.MembershipFactory(user=project.owner, project=project, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
data = { data = {
@ -106,7 +106,7 @@ def test_change_project_from_private_to_public_without_enough_public_projects_sl
def test_change_project_from_public_to_private_without_enough_private_projects_slots(client): def test_change_project_from_public_to_private_without_enough_private_projects_slots(client):
project = f.create_project(is_private=False, owner__max_private_projects=0) project = f.create_project(is_private=False, owner__max_private_projects=0)
f.MembershipFactory(user=project.owner, project=project, is_owner=True) f.MembershipFactory(user=project.owner, project=project, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
data = { data = {
@ -152,7 +152,7 @@ def test_create_public_project_with_enough_public_projects_slots(client):
def test_change_project_from_private_to_public_with_enough_public_projects_slots(client): def test_change_project_from_private_to_public_with_enough_public_projects_slots(client):
project = f.create_project(is_private=True, owner__max_public_projects=1) project = f.create_project(is_private=True, owner__max_public_projects=1)
f.MembershipFactory(user=project.owner, project=project, is_owner=True) f.MembershipFactory(user=project.owner, project=project, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
data = { data = {
@ -167,7 +167,7 @@ def test_change_project_from_private_to_public_with_enough_public_projects_slots
def test_change_project_from_public_to_private_with_enough_private_projects_slots(client): def test_change_project_from_public_to_private_with_enough_private_projects_slots(client):
project = f.create_project(is_private=False, owner__max_private_projects=1) project = f.create_project(is_private=False, owner__max_private_projects=1)
f.MembershipFactory(user=project.owner, project=project, is_owner=True) f.MembershipFactory(user=project.owner, project=project, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
data = { data = {
@ -182,7 +182,7 @@ def test_change_project_from_public_to_private_with_enough_private_projects_slot
def test_change_project_other_data_with_enough_private_projects_slots(client): def test_change_project_other_data_with_enough_private_projects_slots(client):
project = f.create_project(is_private=True, owner__max_private_projects=1) project = f.create_project(is_private=True, owner__max_private_projects=1)
f.MembershipFactory(user=project.owner, project=project, is_owner=True) f.MembershipFactory(user=project.owner, project=project, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
data = { data = {
@ -197,7 +197,7 @@ def test_change_project_other_data_with_enough_private_projects_slots(client):
def test_partially_update_project(client): def test_partially_update_project(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory(user=project.owner, project=project, is_owner=True) f.MembershipFactory(user=project.owner, project=project, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
data = {"name": ""} data = {"name": ""}
@ -248,7 +248,7 @@ def test_task_status_is_closed_changed_recalc_us_is_closed(client):
def test_us_status_slug_generation(client): def test_us_status_slug_generation(client):
us_status = f.UserStoryStatusFactory(name="NEW") us_status = f.UserStoryStatusFactory(name="NEW")
f.MembershipFactory(user=us_status.project.owner, project=us_status.project, is_owner=True) f.MembershipFactory(user=us_status.project.owner, project=us_status.project, is_admin=True)
assert us_status.slug == "new" assert us_status.slug == "new"
client.login(us_status.project.owner) client.login(us_status.project.owner)
@ -268,7 +268,7 @@ def test_us_status_slug_generation(client):
def test_task_status_slug_generation(client): def test_task_status_slug_generation(client):
task_status = f.TaskStatusFactory(name="NEW") task_status = f.TaskStatusFactory(name="NEW")
f.MembershipFactory(user=task_status.project.owner, project=task_status.project, is_owner=True) f.MembershipFactory(user=task_status.project.owner, project=task_status.project, is_admin=True)
assert task_status.slug == "new" assert task_status.slug == "new"
client.login(task_status.project.owner) client.login(task_status.project.owner)
@ -288,7 +288,7 @@ def test_task_status_slug_generation(client):
def test_issue_status_slug_generation(client): def test_issue_status_slug_generation(client):
issue_status = f.IssueStatusFactory(name="NEW") issue_status = f.IssueStatusFactory(name="NEW")
f.MembershipFactory(user=issue_status.project.owner, project=issue_status.project, is_owner=True) f.MembershipFactory(user=issue_status.project.owner, project=issue_status.project, is_admin=True)
assert issue_status.slug == "new" assert issue_status.slug == "new"
client.login(issue_status.project.owner) client.login(issue_status.project.owner)
@ -309,7 +309,7 @@ def test_issue_status_slug_generation(client):
def test_points_name_duplicated(client): def test_points_name_duplicated(client):
point_1 = f.PointsFactory() point_1 = f.PointsFactory()
point_2 = f.PointsFactory(project=point_1.project) point_2 = f.PointsFactory(project=point_1.project)
f.MembershipFactory(user=point_1.project.owner, project=point_1.project, is_owner=True) f.MembershipFactory(user=point_1.project.owner, project=point_1.project, is_admin=True)
client.login(point_1.project.owner) client.login(point_1.project.owner)
url = reverse("points-detail", kwargs={"pk": point_2.pk}) url = reverse("points-detail", kwargs={"pk": point_2.pk})
@ -396,7 +396,7 @@ def test_leave_project_valid_membership_only_owner(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
role = f.RoleFactory.create(project=project, permissions=["view_project"]) role = f.RoleFactory.create(project=project, permissions=["view_project"])
f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
client.login(user) client.login(user)
url = reverse("projects-leave", args=(project.id,)) url = reverse("projects-leave", args=(project.id,))
response = client.post(url) response = client.post(url)
@ -409,8 +409,8 @@ def test_leave_project_valid_membership_real_owner(client):
member_user = f.UserFactory.create() member_user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=owner_user) project = f.ProjectFactory.create(owner=owner_user)
role = f.RoleFactory.create(project=project, permissions=["view_project"]) role = f.RoleFactory.create(project=project, permissions=["view_project"])
f.MembershipFactory.create(project=project, user=owner_user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=owner_user, role=role, is_admin=True)
f.MembershipFactory.create(project=project, user=member_user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=member_user, role=role, is_admin=True)
client.login(owner_user) client.login(owner_user)
url = reverse("projects-leave", args=(project.id,)) url = reverse("projects-leave", args=(project.id,))
@ -448,7 +448,7 @@ def test_delete_membership_only_owner(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
role = f.RoleFactory.create(project=project, permissions=["view_project"]) role = f.RoleFactory.create(project=project, permissions=["view_project"])
membership = f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) membership = f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
client.login(user) client.login(user)
url = reverse("memberships-detail", args=(membership.id,)) url = reverse("memberships-detail", args=(membership.id,))
response = client.delete(url) response = client.delete(url)
@ -461,8 +461,8 @@ def test_delete_membership_real_owner(client):
member_user = f.UserFactory.create() member_user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=owner_user) project = f.ProjectFactory.create(owner=owner_user)
role = f.RoleFactory.create(project=project, permissions=["view_project"]) role = f.RoleFactory.create(project=project, permissions=["view_project"])
owner_membership = f.MembershipFactory.create(project=project, user=owner_user, role=role, is_owner=True) owner_membership = f.MembershipFactory.create(project=project, user=owner_user, role=role, is_admin=True)
f.MembershipFactory.create(project=project, user=member_user, role=role, is_owner=True) f.MembershipFactory.create(project=project, user=member_user, role=role, is_admin=True)
client.login(owner_user) client.login(owner_user)
url = reverse("memberships-detail", args=(owner_membership.id,)) url = reverse("memberships-detail", args=(owner_membership.id,))
@ -475,22 +475,22 @@ def test_edit_membership_only_owner(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
role = f.RoleFactory.create(project=project, permissions=["view_project"]) role = f.RoleFactory.create(project=project, permissions=["view_project"])
membership = f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) membership = f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
data = { data = {
"is_owner": False "is_admin": False
} }
client.login(user) client.login(user)
url = reverse("memberships-detail", args=(membership.id,)) url = reverse("memberships-detail", args=(membership.id,))
response = client.json.patch(url, json.dumps(data)) response = client.json.patch(url, json.dumps(data))
assert response.status_code == 400 assert response.status_code == 400
assert response.data["is_owner"][0] == "The project must have an owner and at least one of the users must be an active admin" assert response.data["is_admin"][0] == "In this project at least one of the users must be an active admin."
def test_anon_permissions_generation_when_making_project_public(client): def test_anon_permissions_generation_when_making_project_public(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(is_private=True) project = f.ProjectFactory.create(is_private=True)
role = f.RoleFactory.create(project=project, permissions=["view_project", "modify_project"]) role = f.RoleFactory.create(project=project, permissions=["view_project", "modify_project"])
membership = f.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) membership = f.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
assert project.anon_permissions == [] assert project.anon_permissions == []
client.login(user) client.login(user)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
@ -504,7 +504,7 @@ def test_anon_permissions_generation_when_making_project_public(client):
def test_destroy_point_and_reassign(client): def test_destroy_point_and_reassign(client):
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
p1 = f.PointsFactory(project=project) p1 = f.PointsFactory(project=project)
project.default_points = p1 project.default_points = p1
project.save() project.save()
@ -549,7 +549,7 @@ def test_create_and_use_template(client):
user = f.UserFactory.create(is_superuser=True) user = f.UserFactory.create(is_superuser=True)
project = f.create_project() project = f.create_project()
role = f.RoleFactory(project=project) role = f.RoleFactory(project=project)
f.MembershipFactory(user=user, project=project, is_owner=True, role=role) f.MembershipFactory(user=user, project=project, is_admin=True, role=role)
client.login(user) client.login(user)
url = reverse("projects-create-template", kwargs={"pk": project.pk}) url = reverse("projects-create-template", kwargs={"pk": project.pk})
@ -575,11 +575,11 @@ def test_projects_user_order(client):
user = f.UserFactory.create(is_superuser=True) user = f.UserFactory.create(is_superuser=True)
project_1 = f.create_project() project_1 = f.create_project()
role_1 = f.RoleFactory(project=project_1) role_1 = f.RoleFactory(project=project_1)
f.MembershipFactory(user=user, project=project_1, is_owner=True, role=role_1, user_order=2) f.MembershipFactory(user=user, project=project_1, is_admin=True, role=role_1, user_order=2)
project_2 = f.create_project() project_2 = f.create_project()
role_2 = f.RoleFactory(project=project_2) role_2 = f.RoleFactory(project=project_2)
f.MembershipFactory(user=user, project=project_2, is_owner=True, role=role_2, user_order=1) f.MembershipFactory(user=user, project=project_2, is_admin=True, role=role_2, user_order=1)
client.login(user) client.login(user)
#Testing default id order #Testing default id order
@ -762,7 +762,7 @@ def test_transfer_request_from_not_admin_member(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project() project = f.create_project()
role = f.RoleFactory(project=project, permissions=["view_project"]) role = f.RoleFactory(project=project, permissions=["view_project"])
f.MembershipFactory(user=user, project=project, role=role, is_owner=False) f.MembershipFactory(user=user, project=project, role=role, is_admin=False)
url = reverse("projects-transfer-request", args=(project.id,)) url = reverse("projects-transfer-request", args=(project.id,))
@ -778,7 +778,7 @@ def test_transfer_request_from_admin_member(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project() project = f.create_project()
role = f.RoleFactory(project=project, permissions=["view_project"]) role = f.RoleFactory(project=project, permissions=["view_project"])
f.MembershipFactory(user=user, project=project, role=role, is_owner=True) f.MembershipFactory(user=user, project=project, role=role, is_admin=True)
url = reverse("projects-transfer-request", args=(project.id,)) url = reverse("projects-transfer-request", args=(project.id,))
@ -792,7 +792,7 @@ def test_transfer_request_from_admin_member(client):
def test_project_transfer_start_to_not_a_membership(client): def test_project_transfer_start_to_not_a_membership(client):
user_from = f.UserFactory.create() user_from = f.UserFactory.create()
project = f.create_project(owner=user_from) project = f.create_project(owner=user_from)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
client.login(user_from) client.login(user_from)
url = reverse("projects-transfer-start", kwargs={"pk": project.pk}) url = reverse("projects-transfer-start", kwargs={"pk": project.pk})
@ -809,7 +809,7 @@ def test_project_transfer_start_to_not_a_membership_admin(client):
user_from = f.UserFactory.create() user_from = f.UserFactory.create()
user_to = f.UserFactory.create() user_to = f.UserFactory.create()
project = f.create_project(owner=user_from) project = f.create_project(owner=user_from)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project) f.MembershipFactory(user=user_to, project=project)
client.login(user_from) client.login(user_from)
@ -827,8 +827,8 @@ def test_project_transfer_start_to_a_valid_user(client):
user_from = f.UserFactory.create() user_from = f.UserFactory.create()
user_to = f.UserFactory.create() user_to = f.UserFactory.create()
project = f.create_project(owner=user_from) project = f.create_project(owner=user_from)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_from) client.login(user_from)
url = reverse("projects-transfer-start", kwargs={"pk": project.pk}) url = reverse("projects-transfer-start", kwargs={"pk": project.pk})
@ -854,8 +854,8 @@ def test_project_transfer_reject_from_admin_member_without_token(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-reject", kwargs={"pk": project.pk}) url = reverse("projects-transfer-reject", kwargs={"pk": project.pk})
@ -877,8 +877,8 @@ def test_project_transfer_reject_from_not_admin_member(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token, public_permissions=["view_project"]) project = f.create_project(owner=user_from, transfer_token=token, public_permissions=["view_project"])
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=False) f.MembershipFactory(user=user_to, project=project, is_admin=False)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-reject", kwargs={"pk": project.pk}) url = reverse("projects-transfer-reject", kwargs={"pk": project.pk})
@ -900,8 +900,8 @@ def test_project_transfer_reject_from_admin_member_with_invalid_token(client):
project = f.create_project(owner=user_from, transfer_token="invalid-token") project = f.create_project(owner=user_from, transfer_token="invalid-token")
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-reject", kwargs={"pk": project.pk}) url = reverse("projects-transfer-reject", kwargs={"pk": project.pk})
@ -927,8 +927,8 @@ def test_project_transfer_reject_from_admin_member_with_other_user_token(client)
token = signer.sign(other_user.id) token = signer.sign(other_user.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-reject", kwargs={"pk": project.pk}) url = reverse("projects-transfer-reject", kwargs={"pk": project.pk})
@ -953,8 +953,8 @@ def test_project_transfer_reject_from_admin_member_with_expired_token(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-reject", kwargs={"pk": project.pk}) url = reverse("projects-transfer-reject", kwargs={"pk": project.pk})
@ -979,8 +979,8 @@ def test_project_transfer_reject_from_admin_member_with_valid_token(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-reject", kwargs={"pk": project.pk}) url = reverse("projects-transfer-reject", kwargs={"pk": project.pk})
@ -1005,8 +1005,8 @@ def test_project_transfer_accept_from_admin_member_without_token(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})
@ -1028,8 +1028,8 @@ def test_project_transfer_accept_from_not_admin_member(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token, public_permissions=["view_project"]) project = f.create_project(owner=user_from, transfer_token=token, public_permissions=["view_project"])
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=False) f.MembershipFactory(user=user_to, project=project, is_admin=False)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})
@ -1051,8 +1051,8 @@ def test_project_transfer_accept_from_admin_member_with_invalid_token(client):
project = f.create_project(owner=user_from, transfer_token="invalid-token") project = f.create_project(owner=user_from, transfer_token="invalid-token")
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})
@ -1078,8 +1078,8 @@ def test_project_transfer_accept_from_admin_member_with_other_user_token(client)
token = signer.sign(other_user.id) token = signer.sign(other_user.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})
@ -1104,8 +1104,8 @@ def test_project_transfer_accept_from_admin_member_with_expired_token(client):
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token) project = f.create_project(owner=user_from, transfer_token=token)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})
@ -1130,8 +1130,8 @@ def test_project_transfer_accept_from_admin_member_with_valid_token_without_enou
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token, is_private=True) project = f.create_project(owner=user_from, transfer_token=token, is_private=True)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})
@ -1158,8 +1158,8 @@ def test_project_transfer_accept_from_admin_member_with_valid_token_without_enou
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token, is_private=False) project = f.create_project(owner=user_from, transfer_token=token, is_private=False)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
f.MembershipFactory(project=project) f.MembershipFactory(project=project)
f.MembershipFactory(project=project) f.MembershipFactory(project=project)
@ -1192,8 +1192,8 @@ def test_project_transfer_accept_from_admin_member_with_valid_token_without_enou
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token, is_private=True) project = f.create_project(owner=user_from, transfer_token=token, is_private=True)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
f.MembershipFactory(project=project) f.MembershipFactory(project=project)
f.MembershipFactory(project=project) f.MembershipFactory(project=project)
@ -1226,8 +1226,8 @@ def test_project_transfer_accept_from_admin_member_with_valid_token_with_enough_
token = signer.sign(user_to.id) token = signer.sign(user_to.id)
project = f.create_project(owner=user_from, transfer_token=token, is_private=True) project = f.create_project(owner=user_from, transfer_token=token, is_private=True)
f.MembershipFactory(user=user_from, project=project, is_owner=True) f.MembershipFactory(user=user_from, project=project, is_admin=True)
f.MembershipFactory(user=user_to, project=project, is_owner=True) f.MembershipFactory(user=user_to, project=project, is_admin=True)
client.login(user_to) client.login(user_to)
url = reverse("projects-transfer-accept", kwargs={"pk": project.pk}) url = reverse("projects-transfer-accept", kwargs={"pk": project.pk})

View File

@ -152,7 +152,7 @@ def test_params_validation_in_api_request(client, refmodels):
project = factories.ProjectFactory.create(owner=user) project = factories.ProjectFactory.create(owner=user)
seqname1 = refmodels.make_sequence_name(project) seqname1 = refmodels.make_sequence_name(project)
role = factories.RoleFactory.create(project=project) role = factories.RoleFactory.create(project=project)
factories.MembershipFactory.create(project=project, user=user, role=role, is_owner=True) factories.MembershipFactory.create(project=project, user=user, role=role, is_admin=True)
milestone = factories.MilestoneFactory.create(project=project) milestone = factories.MilestoneFactory.create(project=project)
us = factories.UserStoryFactory.create(project=project) us = factories.UserStoryFactory.create(project=project)

View File

@ -36,7 +36,7 @@ def test_destroy_role_and_reassign_members(client):
project = f.ProjectFactory.create(owner=user1) project = f.ProjectFactory.create(owner=user1)
role1 = f.RoleFactory.create(project=project) role1 = f.RoleFactory.create(project=project)
role2 = f.RoleFactory.create(project=project) role2 = f.RoleFactory.create(project=project)
f.MembershipFactory.create(project=project, user=user1, role=role1, is_owner=True) f.MembershipFactory.create(project=project, user=user1, role=role1, is_admin=True)
f.MembershipFactory.create(project=project, user=user2, role=role2) f.MembershipFactory.create(project=project, user=user2, role=role2)
url = reverse("roles-detail", args=[role2.pk]) + "?moveTo={}".format(role1.pk) url = reverse("roles-detail", args=[role2.pk]) + "?moveTo={}".format(role1.pk)

View File

@ -43,7 +43,7 @@ def test_create_task_without_status(client):
project.default_task_status = status project.default_task_status = status
project.save() project.save()
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("tasks-list") url = reverse("tasks-list")
data = {"subject": "Test user story", "project": project.id} data = {"subject": "Test user story", "project": project.id}
@ -56,7 +56,7 @@ def test_create_task_without_status(client):
def test_create_task_without_default_values(client): def test_create_task_without_default_values(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user, default_task_status=None) project = f.ProjectFactory.create(owner=user, default_task_status=None)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("tasks-list") url = reverse("tasks-list")
data = {"subject": "Test user story", "project": project.id} data = {"subject": "Test user story", "project": project.id}
@ -69,7 +69,7 @@ def test_create_task_without_default_values(client):
def test_api_update_task_tags(client): def test_api_update_task_tags(client):
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
task = f.create_task(project=project, status__project=project, milestone=None, user_story=None) task = f.create_task(project=project, status__project=project, milestone=None, user_story=None)
f.MembershipFactory.create(project=project, user=task.owner, is_owner=True) f.MembershipFactory.create(project=project, user=task.owner, is_admin=True)
url = reverse("tasks-detail", kwargs={"pk": task.pk}) url = reverse("tasks-detail", kwargs={"pk": task.pk})
data = {"tags": ["back", "front"], "version": task.version} data = {"tags": ["back", "front"], "version": task.version}
@ -81,7 +81,7 @@ def test_api_update_task_tags(client):
def test_api_create_in_bulk_with_status(client): def test_api_create_in_bulk_with_status(client):
us = f.create_userstory() us = f.create_userstory()
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
us.project.default_task_status = f.TaskStatusFactory.create(project=us.project) us.project.default_task_status = f.TaskStatusFactory.create(project=us.project)
url = reverse("tasks-bulk-create") url = reverse("tasks-bulk-create")
data = { data = {
@ -104,7 +104,7 @@ def test_api_create_invalid_task(client):
# But the User Story is not associated with the milestone # But the User Story is not associated with the milestone
us_milestone = f.MilestoneFactory.create() us_milestone = f.MilestoneFactory.create()
us = f.create_userstory(milestone=us_milestone) us = f.create_userstory(milestone=us_milestone)
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
us.project.default_task_status = f.TaskStatusFactory.create(project=us.project) us.project.default_task_status = f.TaskStatusFactory.create(project=us.project)
task_milestone = f.MilestoneFactory.create(project=us.project, owner=us.owner) task_milestone = f.MilestoneFactory.create(project=us.project, owner=us.owner)
@ -124,7 +124,7 @@ def test_api_create_invalid_task(client):
def test_api_update_order_in_bulk(client): def test_api_update_order_in_bulk(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
task1 = f.create_task(project=project) task1 = f.create_task(project=project)
task2 = f.create_task(project=project) task2 = f.create_task(project=project)

View File

@ -55,7 +55,7 @@ def test_anonimous_throttling_policy(client, settings):
def test_user_throttling_policy(client, settings): def test_user_throttling_policy(client, settings):
project = f.create_project() project = f.create_project()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
url = reverse("projects-detail", kwargs={"pk": project.pk}) url = reverse("projects-detail", kwargs={"pk": project.pk})
client.login(project.owner) client.login(project.owner)
@ -84,7 +84,7 @@ def test_user_throttling_policy(client, settings):
def test_import_mode_throttling_policy(client, settings): def test_import_mode_throttling_policy(client, settings):
project = f.create_project() project = f.create_project()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
project.default_issue_type = f.IssueTypeFactory.create(project=project) project.default_issue_type = f.IssueTypeFactory.create(project=project)
project.default_issue_status = f.IssueStatusFactory.create(project=project) project.default_issue_status = f.IssueStatusFactory.create(project=project)
project.default_severity = f.SeverityFactory.create(project=project) project.default_severity = f.SeverityFactory.create(project=project)

View File

@ -112,7 +112,7 @@ def test_project_totals_updated_on_activity(client):
def test_project_totals_updated_on_like(client): def test_project_totals_updated_on_like(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
totals_updated_datetime = project.totals_updated_datetime totals_updated_datetime = project.totals_updated_datetime
now = datetime.datetime.now() now = datetime.datetime.now()

View File

@ -50,8 +50,8 @@ def test_create_userstory_with_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_watcher = f.UserFactory.create() user_watcher = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.MembershipFactory.create(project=project, user=user_watcher, is_owner=True) f.MembershipFactory.create(project=project, user=user_watcher, is_admin=True)
url = reverse("userstories-list") url = reverse("userstories-list")
data = {"subject": "Test user story", "project": project.id, "watchers": [user_watcher.id]} data = {"subject": "Test user story", "project": project.id, "watchers": [user_watcher.id]}
@ -69,7 +69,7 @@ def test_create_userstory_without_status(client):
project.default_us_status = status project.default_us_status = status
project.save() project.save()
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("userstories-list") url = reverse("userstories-list")
data = {"subject": "Test user story", "project": project.id} data = {"subject": "Test user story", "project": project.id}
@ -82,7 +82,7 @@ def test_create_userstory_without_status(client):
def test_create_userstory_without_default_values(client): def test_create_userstory_without_default_values(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user, default_us_status=None) project = f.ProjectFactory.create(owner=user, default_us_status=None)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("userstories-list") url = reverse("userstories-list")
data = {"subject": "Test user story", "project": project.id} data = {"subject": "Test user story", "project": project.id}
@ -94,7 +94,7 @@ def test_create_userstory_without_default_values(client):
def test_api_delete_userstory(client): def test_api_delete_userstory(client):
us = f.UserStoryFactory.create() us = f.UserStoryFactory.create()
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
url = reverse("userstories-detail", kwargs={"pk": us.pk}) url = reverse("userstories-detail", kwargs={"pk": us.pk})
client.login(us.owner) client.login(us.owner)
@ -106,7 +106,7 @@ def test_api_delete_userstory(client):
def test_api_filter_by_subject_or_ref(client): def test_api_filter_by_subject_or_ref(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.UserStoryFactory.create(project=project) f.UserStoryFactory.create(project=project)
f.UserStoryFactory.create(project=project, subject="some random subject") f.UserStoryFactory.create(project=project, subject="some random subject")
@ -122,7 +122,7 @@ def test_api_filter_by_subject_or_ref(client):
def test_api_create_in_bulk_with_status(client): def test_api_create_in_bulk_with_status(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
url = reverse("userstories-bulk-create") url = reverse("userstories-bulk-create")
data = { data = {
"bulk_stories": "Story #1\nStory #2", "bulk_stories": "Story #1\nStory #2",
@ -139,7 +139,7 @@ def test_api_create_in_bulk_with_status(client):
def test_api_update_orders_in_bulk(client): def test_api_update_orders_in_bulk(client):
project = f.create_project() project = f.create_project()
f.MembershipFactory.create(project=project, user=project.owner, is_owner=True) f.MembershipFactory.create(project=project, user=project.owner, is_admin=True)
us1 = f.create_userstory(project=project) us1 = f.create_userstory(project=project)
us2 = f.create_userstory(project=project) us2 = f.create_userstory(project=project)
@ -172,7 +172,7 @@ def test_update_userstory_points(client):
role1 = f.RoleFactory.create(project=project) role1 = f.RoleFactory.create(project=project)
role2 = f.RoleFactory.create(project=project) role2 = f.RoleFactory.create(project=project)
f.MembershipFactory.create(project=project, user=user1, role=role1, is_owner=True) f.MembershipFactory.create(project=project, user=user1, role=role1, is_admin=True)
f.MembershipFactory.create(project=project, user=user2, role=role2) f.MembershipFactory.create(project=project, user=user2, role=role2)
f.PointsFactory.create(project=project, value=None) f.PointsFactory.create(project=project, value=None)
@ -236,7 +236,7 @@ def test_update_userstory_rolepoints_on_add_new_role(client):
def test_archived_filter(client): def test_archived_filter(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.UserStoryFactory.create(project=project) f.UserStoryFactory.create(project=project)
archived_status = f.UserStoryStatusFactory.create(is_archived=True) archived_status = f.UserStoryStatusFactory.create(is_archived=True)
f.UserStoryFactory.create(status=archived_status, project=project) f.UserStoryFactory.create(status=archived_status, project=project)
@ -261,7 +261,7 @@ def test_archived_filter(client):
def test_filter_by_multiple_status(client): def test_filter_by_multiple_status(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user) project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.UserStoryFactory.create(project=project) f.UserStoryFactory.create(project=project)
us1 = f.UserStoryFactory.create(project=project) us1 = f.UserStoryFactory.create(project=project)
us2 = f.UserStoryFactory.create(project=project) us2 = f.UserStoryFactory.create(project=project)
@ -479,7 +479,7 @@ def test_update_userstory_respecting_watchers(client):
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project) us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project)
us.add_watcher(watching_user) us.add_watcher(watching_user)
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
f.MembershipFactory.create(project=us.project, user=watching_user) f.MembershipFactory.create(project=us.project, user=watching_user)
client.login(user=us.owner) client.login(user=us.owner)
@ -496,7 +496,7 @@ def test_update_userstory_update_watchers(client):
watching_user = f.create_user() watching_user = f.create_user()
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project) us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project)
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
f.MembershipFactory.create(project=us.project, user=watching_user) f.MembershipFactory.create(project=us.project, user=watching_user)
client.login(user=us.owner) client.login(user=us.owner)
@ -515,7 +515,7 @@ def test_update_userstory_remove_watchers(client):
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project) us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project)
us.add_watcher(watching_user) us.add_watcher(watching_user)
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
f.MembershipFactory.create(project=us.project, user=watching_user) f.MembershipFactory.create(project=us.project, user=watching_user)
client.login(user=us.owner) client.login(user=us.owner)
@ -532,7 +532,7 @@ def test_update_userstory_remove_watchers(client):
def test_update_userstory_update_tribe_gig(client): def test_update_userstory_update_tribe_gig(client):
project = f.ProjectFactory.create() project = f.ProjectFactory.create()
us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project) us = f.UserStoryFactory.create(project=project, status__project=project, milestone__project=project)
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True) f.MembershipFactory.create(project=us.project, user=us.owner, is_admin=True)
url = reverse("userstories-detail", kwargs={"pk": us.pk}) url = reverse("userstories-detail", kwargs={"pk": us.pk})
data = { data = {

View File

@ -27,7 +27,7 @@ pytestmark = pytest.mark.django_db
def test_upvote_issue(client): def test_upvote_issue(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url = reverse("issues-upvote", args=(issue.id,)) url = reverse("issues-upvote", args=(issue.id,))
client.login(user) client.login(user)
@ -39,7 +39,7 @@ def test_upvote_issue(client):
def test_downvote_issue(client): def test_downvote_issue(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url = reverse("issues-downvote", args=(issue.id,)) url = reverse("issues-downvote", args=(issue.id,))
client.login(user) client.login(user)
@ -51,7 +51,7 @@ def test_downvote_issue(client):
def test_list_issue_voters(client): def test_list_issue_voters(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
f.VoteFactory.create(content_object=issue, user=user) f.VoteFactory.create(content_object=issue, user=user)
url = reverse("issue-voters-list", args=(issue.id,)) url = reverse("issue-voters-list", args=(issue.id,))
@ -64,7 +64,7 @@ def test_list_issue_voters(client):
def test_get_issue_voter(client): def test_get_issue_voter(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
vote = f.VoteFactory.create(content_object=issue, user=user) vote = f.VoteFactory.create(content_object=issue, user=user)
url = reverse("issue-voters-detail", args=(issue.id, vote.user.id)) url = reverse("issue-voters-detail", args=(issue.id, vote.user.id))
@ -77,7 +77,7 @@ def test_get_issue_voter(client):
def test_get_issue_votes(client): def test_get_issue_votes(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url = reverse("issues-detail", args=(issue.id,)) url = reverse("issues-detail", args=(issue.id,))
f.VotesFactory.create(content_object=issue, count=5) f.VotesFactory.create(content_object=issue, count=5)
@ -92,7 +92,7 @@ def test_get_issue_votes(client):
def test_get_issue_is_voted(client): def test_get_issue_is_voted(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
f.VotesFactory.create(content_object=issue) f.VotesFactory.create(content_object=issue)
url_detail = reverse("issues-detail", args=(issue.id,)) url_detail = reverse("issues-detail", args=(issue.id,))
url_upvote = reverse("issues-upvote", args=(issue.id,)) url_upvote = reverse("issues-upvote", args=(issue.id,))

View File

@ -27,7 +27,7 @@ pytestmark = pytest.mark.django_db
def test_upvote_task(client): def test_upvote_task(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user, milestone=None) task = f.create_task(owner=user, milestone=None)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url = reverse("tasks-upvote", args=(task.id,)) url = reverse("tasks-upvote", args=(task.id,))
client.login(user) client.login(user)
@ -39,7 +39,7 @@ def test_upvote_task(client):
def test_downvote_task(client): def test_downvote_task(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user, milestone=None) task = f.create_task(owner=user, milestone=None)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url = reverse("tasks-downvote", args=(task.id,)) url = reverse("tasks-downvote", args=(task.id,))
client.login(user) client.login(user)
@ -51,7 +51,7 @@ def test_downvote_task(client):
def test_list_task_voters(client): def test_list_task_voters(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user) task = f.create_task(owner=user)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
f.VoteFactory.create(content_object=task, user=user) f.VoteFactory.create(content_object=task, user=user)
url = reverse("task-voters-list", args=(task.id,)) url = reverse("task-voters-list", args=(task.id,))
@ -65,7 +65,7 @@ def test_list_task_voters(client):
def test_get_task_voter(client): def test_get_task_voter(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user) task = f.create_task(owner=user)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
vote = f.VoteFactory.create(content_object=task, user=user) vote = f.VoteFactory.create(content_object=task, user=user)
url = reverse("task-voters-detail", args=(task.id, vote.user.id)) url = reverse("task-voters-detail", args=(task.id, vote.user.id))
@ -79,7 +79,7 @@ def test_get_task_voter(client):
def test_get_task_votes(client): def test_get_task_votes(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user) task = f.create_task(owner=user)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url = reverse("tasks-detail", args=(task.id,)) url = reverse("tasks-detail", args=(task.id,))
f.VotesFactory.create(content_object=task, count=5) f.VotesFactory.create(content_object=task, count=5)
@ -94,7 +94,7 @@ def test_get_task_votes(client):
def test_get_task_is_voted(client): def test_get_task_is_voted(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user, milestone=None) task = f.create_task(owner=user, milestone=None)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
f.VotesFactory.create(content_object=task) f.VotesFactory.create(content_object=task)
url_detail = reverse("tasks-detail", args=(task.id,)) url_detail = reverse("tasks-detail", args=(task.id,))
url_upvote = reverse("tasks-upvote", args=(task.id,)) url_upvote = reverse("tasks-upvote", args=(task.id,))

View File

@ -27,7 +27,7 @@ pytestmark = pytest.mark.django_db
def test_upvote_user_story(client): def test_upvote_user_story(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url = reverse("userstories-upvote", args=(user_story.id,)) url = reverse("userstories-upvote", args=(user_story.id,))
client.login(user) client.login(user)
@ -39,7 +39,7 @@ def test_upvote_user_story(client):
def test_downvote_user_story(client): def test_downvote_user_story(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url = reverse("userstories-downvote", args=(user_story.id,)) url = reverse("userstories-downvote", args=(user_story.id,))
client.login(user) client.login(user)
@ -51,7 +51,7 @@ def test_downvote_user_story(client):
def test_list_user_story_voters(client): def test_list_user_story_voters(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user) user_story = f.create_userstory(owner=user)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
f.VoteFactory.create(content_object=user_story, user=user) f.VoteFactory.create(content_object=user_story, user=user)
url = reverse("userstory-voters-list", args=(user_story.id,)) url = reverse("userstory-voters-list", args=(user_story.id,))
@ -64,7 +64,7 @@ def test_list_user_story_voters(client):
def test_get_userstory_voter(client): def test_get_userstory_voter(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user) user_story = f.create_userstory(owner=user)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
vote = f.VoteFactory.create(content_object=user_story, user=user) vote = f.VoteFactory.create(content_object=user_story, user=user)
url = reverse("userstory-voters-detail", args=(user_story.id, vote.user.id)) url = reverse("userstory-voters-detail", args=(user_story.id, vote.user.id))
@ -78,7 +78,7 @@ def test_get_userstory_voter(client):
def test_get_user_story_votes(client): def test_get_user_story_votes(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user) user_story = f.create_userstory(owner=user)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url = reverse("userstories-detail", args=(user_story.id,)) url = reverse("userstories-detail", args=(user_story.id,))
f.VotesFactory.create(content_object=user_story, count=5) f.VotesFactory.create(content_object=user_story, count=5)
@ -93,7 +93,7 @@ def test_get_user_story_votes(client):
def test_get_user_story_is_voted(client): def test_get_user_story_is_voted(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
f.VotesFactory.create(content_object=user_story) f.VotesFactory.create(content_object=user_story)
url_detail = reverse("userstories-detail", args=(user_story.id,)) url_detail = reverse("userstories-detail", args=(user_story.id,))
url_upvote = reverse("userstories-upvote", args=(user_story.id,)) url_upvote = reverse("userstories-upvote", args=(user_story.id,))

View File

@ -28,7 +28,7 @@ pytestmark = pytest.mark.django_db
def test_watch_issue(client): def test_watch_issue(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url = reverse("issues-watch", args=(issue.id,)) url = reverse("issues-watch", args=(issue.id,))
client.login(user) client.login(user)
@ -40,7 +40,7 @@ def test_watch_issue(client):
def test_unwatch_issue(client): def test_unwatch_issue(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url = reverse("issues-watch", args=(issue.id,)) url = reverse("issues-watch", args=(issue.id,))
client.login(user) client.login(user)
@ -52,7 +52,7 @@ def test_unwatch_issue(client):
def test_list_issue_watchers(client): def test_list_issue_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.IssueFactory(owner=user) issue = f.IssueFactory(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
f.WatchedFactory.create(content_object=issue, user=user) f.WatchedFactory.create(content_object=issue, user=user)
url = reverse("issue-watchers-list", args=(issue.id,)) url = reverse("issue-watchers-list", args=(issue.id,))
@ -66,7 +66,7 @@ def test_list_issue_watchers(client):
def test_get_issue_watcher(client): def test_get_issue_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.IssueFactory(owner=user) issue = f.IssueFactory(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
watch = f.WatchedFactory.create(content_object=issue, user=user) watch = f.WatchedFactory.create(content_object=issue, user=user)
url = reverse("issue-watchers-detail", args=(issue.id, watch.user.id)) url = reverse("issue-watchers-detail", args=(issue.id, watch.user.id))
@ -80,7 +80,7 @@ def test_get_issue_watcher(client):
def test_get_issue_watchers(client): def test_get_issue_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url = reverse("issues-detail", args=(issue.id,)) url = reverse("issues-detail", args=(issue.id,))
f.WatchedFactory.create(content_object=issue, user=user) f.WatchedFactory.create(content_object=issue, user=user)
@ -96,7 +96,7 @@ def test_get_issue_watchers(client):
def test_get_issue_is_watcher(client): def test_get_issue_is_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
issue = f.create_issue(owner=user) issue = f.create_issue(owner=user)
f.MembershipFactory.create(project=issue.project, user=user, is_owner=True) f.MembershipFactory.create(project=issue.project, user=user, is_admin=True)
url_detail = reverse("issues-detail", args=(issue.id,)) url_detail = reverse("issues-detail", args=(issue.id,))
url_watch = reverse("issues-watch", args=(issue.id,)) url_watch = reverse("issues-watch", args=(issue.id,))
url_unwatch = reverse("issues-unwatch", args=(issue.id,)) url_unwatch = reverse("issues-unwatch", args=(issue.id,))

View File

@ -28,7 +28,7 @@ pytestmark = pytest.mark.django_db
def test_watch_milestone(client): def test_watch_milestone(client):
user = f.UserFactory.create() user = f.UserFactory.create()
milestone = f.MilestoneFactory(owner=user) milestone = f.MilestoneFactory(owner=user)
f.MembershipFactory.create(project=milestone.project, user=user, is_owner=True) f.MembershipFactory.create(project=milestone.project, user=user, is_admin=True)
url = reverse("milestones-watch", args=(milestone.id,)) url = reverse("milestones-watch", args=(milestone.id,))
client.login(user) client.login(user)
@ -40,7 +40,7 @@ def test_watch_milestone(client):
def test_unwatch_milestone(client): def test_unwatch_milestone(client):
user = f.UserFactory.create() user = f.UserFactory.create()
milestone = f.MilestoneFactory(owner=user) milestone = f.MilestoneFactory(owner=user)
f.MembershipFactory.create(project=milestone.project, user=user, is_owner=True) f.MembershipFactory.create(project=milestone.project, user=user, is_admin=True)
url = reverse("milestones-watch", args=(milestone.id,)) url = reverse("milestones-watch", args=(milestone.id,))
client.login(user) client.login(user)
@ -52,7 +52,7 @@ def test_unwatch_milestone(client):
def test_list_milestone_watchers(client): def test_list_milestone_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
milestone = f.MilestoneFactory(owner=user) milestone = f.MilestoneFactory(owner=user)
f.MembershipFactory.create(project=milestone.project, user=user, is_owner=True) f.MembershipFactory.create(project=milestone.project, user=user, is_admin=True)
f.WatchedFactory.create(content_object=milestone, user=user) f.WatchedFactory.create(content_object=milestone, user=user)
url = reverse("milestone-watchers-list", args=(milestone.id,)) url = reverse("milestone-watchers-list", args=(milestone.id,))
@ -66,7 +66,7 @@ def test_list_milestone_watchers(client):
def test_get_milestone_watcher(client): def test_get_milestone_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
milestone = f.MilestoneFactory(owner=user) milestone = f.MilestoneFactory(owner=user)
f.MembershipFactory.create(project=milestone.project, user=user, is_owner=True) f.MembershipFactory.create(project=milestone.project, user=user, is_admin=True)
watch = f.WatchedFactory.create(content_object=milestone, user=user) watch = f.WatchedFactory.create(content_object=milestone, user=user)
url = reverse("milestone-watchers-detail", args=(milestone.id, watch.user.id)) url = reverse("milestone-watchers-detail", args=(milestone.id, watch.user.id))
@ -80,7 +80,7 @@ def test_get_milestone_watcher(client):
def test_get_milestone_watchers(client): def test_get_milestone_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
milestone = f.MilestoneFactory(owner=user) milestone = f.MilestoneFactory(owner=user)
f.MembershipFactory.create(project=milestone.project, user=user, is_owner=True) f.MembershipFactory.create(project=milestone.project, user=user, is_admin=True)
url = reverse("milestones-detail", args=(milestone.id,)) url = reverse("milestones-detail", args=(milestone.id,))
f.WatchedFactory.create(content_object=milestone, user=user) f.WatchedFactory.create(content_object=milestone, user=user)
@ -95,7 +95,7 @@ def test_get_milestone_watchers(client):
def test_get_milestone_is_watcher(client): def test_get_milestone_is_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
milestone = f.MilestoneFactory(owner=user) milestone = f.MilestoneFactory(owner=user)
f.MembershipFactory.create(project=milestone.project, user=user, is_owner=True) f.MembershipFactory.create(project=milestone.project, user=user, is_admin=True)
url_detail = reverse("milestones-detail", args=(milestone.id,)) url_detail = reverse("milestones-detail", args=(milestone.id,))
url_watch = reverse("milestones-watch", args=(milestone.id,)) url_watch = reverse("milestones-watch", args=(milestone.id,))
url_unwatch = reverse("milestones-unwatch", args=(milestone.id,)) url_unwatch = reverse("milestones-unwatch", args=(milestone.id,))

View File

@ -30,7 +30,7 @@ pytestmark = pytest.mark.django_db
def test_watch_project(client): def test_watch_project(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-watch", args=(project.id,)) url = reverse("projects-watch", args=(project.id,))
client.login(user) client.login(user)
@ -42,7 +42,7 @@ def test_watch_project(client):
def test_watch_project_with_valid_notify_level(client): def test_watch_project_with_valid_notify_level(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-watch", args=(project.id,)) url = reverse("projects-watch", args=(project.id,))
client.login(user) client.login(user)
@ -57,7 +57,7 @@ def test_watch_project_with_valid_notify_level(client):
def test_watch_project_with_invalid_notify_level(client): def test_watch_project_with_invalid_notify_level(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-watch", args=(project.id,)) url = reverse("projects-watch", args=(project.id,))
client.login(user) client.login(user)
@ -73,7 +73,7 @@ def test_watch_project_with_invalid_notify_level(client):
def test_unwatch_project(client): def test_unwatch_project(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-unwatch", args=(project.id,)) url = reverse("projects-unwatch", args=(project.id,))
client.login(user) client.login(user)
@ -85,7 +85,7 @@ def test_unwatch_project(client):
def test_list_project_watchers(client): def test_list_project_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
f.WatchedFactory.create(content_object=project, user=user) f.WatchedFactory.create(content_object=project, user=user)
url = reverse("project-watchers-list", args=(project.id,)) url = reverse("project-watchers-list", args=(project.id,))
@ -99,7 +99,7 @@ def test_list_project_watchers(client):
def test_get_project_watcher(client): def test_get_project_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
watch = f.WatchedFactory.create(content_object=project, user=user) watch = f.WatchedFactory.create(content_object=project, user=user)
url = reverse("project-watchers-detail", args=(project.id, watch.user.id)) url = reverse("project-watchers-detail", args=(project.id, watch.user.id))
@ -113,7 +113,7 @@ def test_get_project_watcher(client):
def test_get_project_watchers(client): def test_get_project_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
project = f.create_project(owner=user) project = f.create_project(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True) f.MembershipFactory.create(project=project, user=user, is_admin=True)
url = reverse("projects-detail", args=(project.id,)) url = reverse("projects-detail", args=(project.id,))
f.WatchedFactory.create(content_object=project, user=user) f.WatchedFactory.create(content_object=project, user=user)

View File

@ -28,7 +28,7 @@ pytestmark = pytest.mark.django_db
def test_watch_task(client): def test_watch_task(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user, milestone=None) task = f.create_task(owner=user, milestone=None)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url = reverse("tasks-watch", args=(task.id,)) url = reverse("tasks-watch", args=(task.id,))
client.login(user) client.login(user)
@ -40,7 +40,7 @@ def test_watch_task(client):
def test_unwatch_task(client): def test_unwatch_task(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user, milestone=None) task = f.create_task(owner=user, milestone=None)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url = reverse("tasks-watch", args=(task.id,)) url = reverse("tasks-watch", args=(task.id,))
client.login(user) client.login(user)
@ -52,7 +52,7 @@ def test_unwatch_task(client):
def test_list_task_watchers(client): def test_list_task_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.TaskFactory(owner=user) task = f.TaskFactory(owner=user)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
f.WatchedFactory.create(content_object=task, user=user) f.WatchedFactory.create(content_object=task, user=user)
url = reverse("task-watchers-list", args=(task.id,)) url = reverse("task-watchers-list", args=(task.id,))
@ -66,7 +66,7 @@ def test_list_task_watchers(client):
def test_get_task_watcher(client): def test_get_task_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.TaskFactory(owner=user) task = f.TaskFactory(owner=user)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
watch = f.WatchedFactory.create(content_object=task, user=user) watch = f.WatchedFactory.create(content_object=task, user=user)
url = reverse("task-watchers-detail", args=(task.id, watch.user.id)) url = reverse("task-watchers-detail", args=(task.id, watch.user.id))
@ -80,7 +80,7 @@ def test_get_task_watcher(client):
def test_get_task_watchers(client): def test_get_task_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.TaskFactory(owner=user) task = f.TaskFactory(owner=user)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url = reverse("tasks-detail", args=(task.id,)) url = reverse("tasks-detail", args=(task.id,))
f.WatchedFactory.create(content_object=task, user=user) f.WatchedFactory.create(content_object=task, user=user)
@ -96,7 +96,7 @@ def test_get_task_watchers(client):
def test_get_task_is_watcher(client): def test_get_task_is_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
task = f.create_task(owner=user, milestone=None) task = f.create_task(owner=user, milestone=None)
f.MembershipFactory.create(project=task.project, user=user, is_owner=True) f.MembershipFactory.create(project=task.project, user=user, is_admin=True)
url_detail = reverse("tasks-detail", args=(task.id,)) url_detail = reverse("tasks-detail", args=(task.id,))
url_watch = reverse("tasks-watch", args=(task.id,)) url_watch = reverse("tasks-watch", args=(task.id,))
url_unwatch = reverse("tasks-unwatch", args=(task.id,)) url_unwatch = reverse("tasks-unwatch", args=(task.id,))

View File

@ -28,7 +28,7 @@ pytestmark = pytest.mark.django_db
def test_watch_user_story(client): def test_watch_user_story(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url = reverse("userstories-watch", args=(user_story.id,)) url = reverse("userstories-watch", args=(user_story.id,))
client.login(user) client.login(user)
@ -40,7 +40,7 @@ def test_watch_user_story(client):
def test_unwatch_user_story(client): def test_unwatch_user_story(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url = reverse("userstories-unwatch", args=(user_story.id,)) url = reverse("userstories-unwatch", args=(user_story.id,))
client.login(user) client.login(user)
@ -52,7 +52,7 @@ def test_unwatch_user_story(client):
def test_list_user_story_watchers(client): def test_list_user_story_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.UserStoryFactory(owner=user) user_story = f.UserStoryFactory(owner=user)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
f.WatchedFactory.create(content_object=user_story, user=user) f.WatchedFactory.create(content_object=user_story, user=user)
url = reverse("userstory-watchers-list", args=(user_story.id,)) url = reverse("userstory-watchers-list", args=(user_story.id,))
@ -66,7 +66,7 @@ def test_list_user_story_watchers(client):
def test_get_user_story_watcher(client): def test_get_user_story_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
watch = f.WatchedFactory.create(content_object=user_story, user=user) watch = f.WatchedFactory.create(content_object=user_story, user=user)
url = reverse("userstory-watchers-detail", args=(user_story.id, watch.user.id)) url = reverse("userstory-watchers-detail", args=(user_story.id, watch.user.id))
@ -80,7 +80,7 @@ def test_get_user_story_watcher(client):
def test_get_user_story_watchers(client): def test_get_user_story_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url = reverse("userstories-detail", args=(user_story.id,)) url = reverse("userstories-detail", args=(user_story.id,))
f.WatchedFactory.create(content_object=user_story, user=user) f.WatchedFactory.create(content_object=user_story, user=user)
@ -96,7 +96,7 @@ def test_get_user_story_watchers(client):
def test_get_user_story_is_watcher(client): def test_get_user_story_is_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
user_story = f.create_userstory(owner=user, status=None) user_story = f.create_userstory(owner=user, status=None)
f.MembershipFactory.create(project=user_story.project, user=user, is_owner=True) f.MembershipFactory.create(project=user_story.project, user=user, is_admin=True)
url_detail = reverse("userstories-detail", args=(user_story.id,)) url_detail = reverse("userstories-detail", args=(user_story.id,))
url_watch = reverse("userstories-watch", args=(user_story.id,)) url_watch = reverse("userstories-watch", args=(user_story.id,))
url_unwatch = reverse("userstories-unwatch", args=(user_story.id,)) url_unwatch = reverse("userstories-unwatch", args=(user_story.id,))

View File

@ -28,7 +28,7 @@ pytestmark = pytest.mark.django_db
def test_watch_wikipage(client): def test_watch_wikipage(client):
user = f.UserFactory.create() user = f.UserFactory.create()
wikipage = f.WikiPageFactory(owner=user) wikipage = f.WikiPageFactory(owner=user)
f.MembershipFactory.create(project=wikipage.project, user=user, is_owner=True) f.MembershipFactory.create(project=wikipage.project, user=user, is_admin=True)
url = reverse("wiki-watch", args=(wikipage.id,)) url = reverse("wiki-watch", args=(wikipage.id,))
client.login(user) client.login(user)
@ -40,7 +40,7 @@ def test_watch_wikipage(client):
def test_unwatch_wikipage(client): def test_unwatch_wikipage(client):
user = f.UserFactory.create() user = f.UserFactory.create()
wikipage = f.WikiPageFactory(owner=user) wikipage = f.WikiPageFactory(owner=user)
f.MembershipFactory.create(project=wikipage.project, user=user, is_owner=True) f.MembershipFactory.create(project=wikipage.project, user=user, is_admin=True)
url = reverse("wiki-watch", args=(wikipage.id,)) url = reverse("wiki-watch", args=(wikipage.id,))
client.login(user) client.login(user)
@ -52,7 +52,7 @@ def test_unwatch_wikipage(client):
def test_list_wikipage_watchers(client): def test_list_wikipage_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
wikipage = f.WikiPageFactory(owner=user) wikipage = f.WikiPageFactory(owner=user)
f.MembershipFactory.create(project=wikipage.project, user=user, is_owner=True) f.MembershipFactory.create(project=wikipage.project, user=user, is_admin=True)
f.WatchedFactory.create(content_object=wikipage, user=user) f.WatchedFactory.create(content_object=wikipage, user=user)
url = reverse("wiki-watchers-list", args=(wikipage.id,)) url = reverse("wiki-watchers-list", args=(wikipage.id,))
@ -66,7 +66,7 @@ def test_list_wikipage_watchers(client):
def test_get_wikipage_watcher(client): def test_get_wikipage_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
wikipage = f.WikiPageFactory(owner=user) wikipage = f.WikiPageFactory(owner=user)
f.MembershipFactory.create(project=wikipage.project, user=user, is_owner=True) f.MembershipFactory.create(project=wikipage.project, user=user, is_admin=True)
watch = f.WatchedFactory.create(content_object=wikipage, user=user) watch = f.WatchedFactory.create(content_object=wikipage, user=user)
url = reverse("wiki-watchers-detail", args=(wikipage.id, watch.user.id)) url = reverse("wiki-watchers-detail", args=(wikipage.id, watch.user.id))
@ -80,7 +80,7 @@ def test_get_wikipage_watcher(client):
def test_get_wikipage_watchers(client): def test_get_wikipage_watchers(client):
user = f.UserFactory.create() user = f.UserFactory.create()
wikipage = f.WikiPageFactory(owner=user) wikipage = f.WikiPageFactory(owner=user)
f.MembershipFactory.create(project=wikipage.project, user=user, is_owner=True) f.MembershipFactory.create(project=wikipage.project, user=user, is_admin=True)
url = reverse("wiki-detail", args=(wikipage.id,)) url = reverse("wiki-detail", args=(wikipage.id,))
f.WatchedFactory.create(content_object=wikipage, user=user) f.WatchedFactory.create(content_object=wikipage, user=user)
@ -95,7 +95,7 @@ def test_get_wikipage_watchers(client):
def test_get_wikipage_is_watcher(client): def test_get_wikipage_is_watcher(client):
user = f.UserFactory.create() user = f.UserFactory.create()
wikipage = f.WikiPageFactory(owner=user) wikipage = f.WikiPageFactory(owner=user)
f.MembershipFactory.create(project=wikipage.project, user=user, is_owner=True) f.MembershipFactory.create(project=wikipage.project, user=user, is_admin=True)
url_detail = reverse("wiki-detail", args=(wikipage.id,)) url_detail = reverse("wiki-detail", args=(wikipage.id,))
url_watch = reverse("wiki-watch", args=(wikipage.id,)) url_watch = reverse("wiki-watch", args=(wikipage.id,))
url_unwatch = reverse("wiki-unwatch", args=(wikipage.id,)) url_unwatch = reverse("wiki-unwatch", args=(wikipage.id,))