Skip to content

Commit 9802905

Browse files
author
marter11
committed
tested project view links
1 parent 4fa95e6 commit 9802905

File tree

1 file changed

+99
-6
lines changed

1 file changed

+99
-6
lines changed

tests/api/views/test_projectView.py

Lines changed: 99 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
from tests.conftest import client
2-
from tests import db, Project
2+
from tests import db, Project, ProjectLink
3+
from tests.api import create_project_for_test_cases, create_project_link_for_test_cases
34

4-
from tests.api import create_project_for_test_cases
55
class TestProjectView(object):
66

77
valid_data = {
@@ -37,11 +37,35 @@ def test_delete_project(self, client):
3737
response = client.delete('/projects/0')
3838
assert response.status_code == 404
3939

40-
# project_id = self.create_project_for_test_cases()
41-
# response = client.delete('/project/{}'.format(project_id))
42-
# assert response.status_code == 202
40+
project1 = create_project_for_test_cases(self.valid_data)
41+
42+
self.valid_data["name"] = "p2 name"
43+
project2 = create_project_for_test_cases(self.valid_data)
44+
45+
response = client.delete('/projects/{}'.format(project1["id"]))
46+
assert response.status_code == 202
47+
48+
def test_get_project(self, client):
49+
response = client.get('/projects/{}'.format(0))
50+
assert response.status_code == 404
4351

44-
def test_create_porject_link(self, client):
52+
project = create_project_for_test_cases(self.valid_data)
53+
response = client.get('/projects/{}'.format(project["id"]))
54+
assert response.status_code == 200
55+
assert response.get_json()["name"] == project["name"]
56+
57+
def test_get_all_projects(self, client):
58+
project1 = create_project_for_test_cases(self.valid_data)
59+
60+
self.valid_data["name"] = "allproject2"
61+
project2 = create_project_for_test_cases(self.valid_data)
62+
response = client.get('/projects')
63+
64+
assert response.status_code == 200
65+
r = response.get_json()
66+
assert [r[0]["name"], r[1]["name"]] == [project1["name"], project2["name"]]
67+
68+
def test_create_project_link(self, client):
4569
project = create_project_for_test_cases(self.valid_data)
4670
url = '/projects/{}/links'.format(project["id"])
4771

@@ -50,3 +74,72 @@ def test_create_porject_link(self, client):
5074

5175
response = client.post(url, json={"name": "Main link", "url": "http://main.link"})
5276
assert response.status_code == 201
77+
78+
def test_update_project_link(self, client):
79+
p1 = create_project_for_test_cases(self.valid_data)
80+
p1_link = create_project_link_for_test_cases(
81+
{
82+
"name": "Plink",
83+
"url": "https://xll.com",
84+
"project_id": p1["id"]
85+
})
86+
87+
url = '/projects/{0}/links/{1}'
88+
89+
# notice: this shouldn't give 500 error
90+
# response = client.post(url.format(p1["id"], 0))
91+
# assert response.status_code == 404
92+
93+
# notice: this shouldn't give 500 error
94+
# response = client.post(url.format(0, p1_link["id"]))
95+
# assert response.status_code == 404
96+
97+
response = client.post(url.format(p1["id"], p1_link["id"]), json={"name": "Nlink"})
98+
assert response.status_code == 200
99+
assert response.get_json()["name"] == "Nlink"
100+
101+
def test_get_all_project_links(self, client):
102+
p1 = create_project_for_test_cases(self.valid_data)
103+
p_link1 = create_project_link_for_test_cases(
104+
{
105+
"name": "Plink",
106+
"url": "https://xll.com",
107+
"project_id": p1["id"]
108+
})
109+
p_link2 = create_project_link_for_test_cases(
110+
{
111+
"name": "Other",
112+
"url": "https://pp.com",
113+
"project_id": p1["id"]
114+
})
115+
116+
response = client.get('/projects/{}/links'.format(p1["id"]))
117+
assert response.status_code == 200
118+
assert response.get_json() == [p_link1, p_link2]
119+
120+
def test_delete_project_link(self, client):
121+
url = '/projects/{0}/links/{1}'
122+
123+
response = client.delete(url.format(0, 0))
124+
assert response.status_code == 404
125+
126+
p1 = create_project_for_test_cases(self.valid_data)
127+
p_link1 = create_project_link_for_test_cases(
128+
{
129+
"name": "Plink",
130+
"url": "https://xll.com",
131+
"project_id": p1["id"]
132+
})
133+
p_link2 = create_project_link_for_test_cases(
134+
{
135+
"name": "Other",
136+
"url": "https://pp.com",
137+
"project_id": p1["id"]
138+
})
139+
140+
141+
response = client.delete(url.format(p1["id"], p_link1["id"]))
142+
assert response.status_code == 200
143+
items = ProjectLink.query.all()
144+
assert len(items) == 1
145+
assert items[0].name == "Other"

0 commit comments

Comments
 (0)