Fixed failing tests

remotes/origin/enhancement/email-actions
Jesús Espino 2014-11-25 10:21:03 +01:00
parent 63cd1dcac6
commit 72730fdb73
5 changed files with 58 additions and 32 deletions

View File

@ -103,7 +103,7 @@ class PermissionBasedFilterBackend(FilterBackend):
memberships_qs = Membership.objects.filter(user=request.user)
if project_id:
memberships_qs = memberships_qs.filter(project_id=project_id)
memberships_qs = memberships_qs.filter(role__permissions__contains=[self.permission])
memberships_qs = memberships_qs.filter(Q(role__permissions__contains=[self.permission]) | Q(is_owner=True))
projects_list = [membership.project_id for membership in memberships_qs]
@ -182,7 +182,8 @@ class CanViewProjectObjFilterBackend(FilterBackend):
memberships_qs = Membership.objects.filter(user=request.user)
if project_id:
memberships_qs = memberships_qs.filter(project_id=project_id)
memberships_qs = memberships_qs.filter(role__permissions__contains=['view_project'])
memberships_qs = memberships_qs.filter(Q(role__permissions__contains=['view_project']) | Q(is_owner=True))
projects_list = [membership.project_id for membership in memberships_qs]
qs = qs.filter(Q(id__in=projects_list) | Q(public_permissions__contains=["view_project"]))

View File

@ -60,9 +60,10 @@ def test_api_create_issues_in_bulk(client):
def test_api_filter_by_subject(client):
f.create_issue()
issue = f.create_issue(subject="some random subject")
url = reverse("issues-list") + "?subject=some subject"
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="some random subject", owner=user)
url = reverse("issues-list") + "?q=some subject"
client.login(issue.owner)
response = client.get(url)
@ -73,8 +74,9 @@ def test_api_filter_by_subject(client):
def test_api_filter_by_text_1(client):
f.create_issue()
issue = f.create_issue(subject="this is the issue one")
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="this is the issue one", owner=user)
f.create_issue(subject="this is the issue two", owner=issue.owner)
url = reverse("issues-list") + "?q=one"
@ -86,8 +88,9 @@ def test_api_filter_by_text_1(client):
assert number_of_issues == 1
def test_api_filter_by_text_2(client):
f.create_issue()
issue = f.create_issue(subject="this is the issue one")
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="this is the issue one", owner=user)
f.create_issue(subject="this is the issue two", owner=issue.owner)
url = reverse("issues-list") + "?q=this is the issue one"
@ -99,8 +102,9 @@ def test_api_filter_by_text_2(client):
assert number_of_issues == 1
def test_api_filter_by_text_3(client):
f.create_issue()
issue = f.create_issue(subject="this is the issue one")
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="this is the issue one", owner=user)
f.create_issue(subject="this is the issue two", owner=issue.owner)
url = reverse("issues-list") + "?q=this is the issue"
@ -112,8 +116,9 @@ def test_api_filter_by_text_3(client):
assert number_of_issues == 2
def test_api_filter_by_text_4(client):
f.create_issue()
issue = f.create_issue(subject="this is the issue one")
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="this is the issue one", owner=user)
f.create_issue(subject="this is the issue two", owner=issue.owner)
url = reverse("issues-list") + "?q=one two"
@ -125,8 +130,9 @@ def test_api_filter_by_text_4(client):
assert number_of_issues == 0
def test_api_filter_by_text_5(client):
f.create_issue()
issue = f.create_issue(subject="python 3")
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="python 3", owner=user)
url = reverse("issues-list") + "?q=python 3"
client.login(issue.owner)
@ -138,9 +144,13 @@ def test_api_filter_by_text_5(client):
def test_api_filter_by_text_6(client):
f.create_issue()
issue = f.create_issue(subject="test")
url = reverse("issues-list") + "?q=%s"%(issue.ref)
user = f.UserFactory(is_superuser=True)
f.create_issue(owner=user)
issue = f.create_issue(subject="test", owner=user)
issue.ref = 123
issue.save()
print(issue.ref, issue.subject)
url = reverse("issues-list") + "?q=%s" % (issue.ref)
client.login(issue.owner)
response = client.get(url)

View File

@ -147,9 +147,11 @@ def test_api_create_invalid_membership_role_doesnt_exist_in_the_project(client):
def test_api_create_membership(client):
user = f.UserFactory()
role = f.RoleFactory.create()
client.login(role.project.owner)
membership = f.MembershipFactory(is_owner=True)
role = f.RoleFactory.create(project=membership.project)
user = f.UserFactory.create()
client.login(membership.user)
url = reverse("memberships-list")
data = {"role": role.pk, "project": role.project.pk, "email": user.email}
response = client.json.post(url, json.dumps(data))
@ -159,8 +161,8 @@ def test_api_create_membership(client):
def test_api_edit_membership(client):
membership = f.MembershipFactory()
client.login(membership.project.owner)
membership = f.MembershipFactory(is_owner=True)
client.login(membership.user)
url = reverse("memberships-detail", args=[membership.id])
data = {"email": "new@email.com"}
response = client.json.patch(url, json.dumps(data))
@ -169,8 +171,15 @@ def test_api_edit_membership(client):
def test_api_delete_membership(client):
membership = f.MembershipFactory()
client.login(membership.project.owner)
membership = f.MembershipFactory(is_owner=True)
client.login(membership.user)
url = reverse("memberships-detail", args=[membership.id])
response = client.json.delete(url)
assert response.status_code == 400
f.MembershipFactory(is_owner=True, project=membership.project)
url = reverse("memberships-detail", args=[membership.id])
response = client.json.delete(url)

View File

@ -26,6 +26,7 @@ pytestmark = pytest.mark.django_db
def test_project_owner_star_project(client):
user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, is_owner=True, user=user)
url = reverse("projects-star", args=(project.id,))
client.login(user)
@ -37,6 +38,7 @@ def test_project_owner_star_project(client):
def test_project_owner_unstar_project(client):
user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, is_owner=True, user=user)
url = reverse("projects-unstar", args=(project.id,))
client.login(user)

View File

@ -43,7 +43,7 @@ def test_update_userstories_order_in_bulk():
def test_api_delete_userstory(client):
us = f.create_userstory()
us = f.UserStoryFactory.create()
f.MembershipFactory.create(project=us.project, user=us.owner, is_owner=True)
url = reverse("userstories-detail", kwargs={"pk": us.pk})
@ -53,12 +53,16 @@ def test_api_delete_userstory(client):
assert response.status_code == 204
def test_api_filter_by_subject(client):
f.create_userstory()
us = f.create_userstory(subject="some random subject")
url = reverse("userstories-list") + "?subject=some subject"
def test_api_filter_by_subject_or_ref(client):
user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True)
client.login(us.owner)
f.UserStoryFactory.create(project=project)
f.UserStoryFactory.create(project=project, subject="some random subject")
url = reverse("userstories-list") + "?q=some subject"
client.login(project.owner)
response = client.get(url)
number_of_stories = len(response.data)
@ -184,7 +188,7 @@ def test_update_userstory_rolepoints_on_add_new_role(client):
def test_archived_filter(client):
user = f.UserFactory.create()
project = f.ProjectFactory.create(owner=user)
f.MembershipFactory.create(project=project, user=user)
f.MembershipFactory.create(project=project, user=user, is_owner=True)
f.UserStoryFactory.create(project=project)
f.UserStoryFactory.create(is_archived=True, project=project)