Skip to content

Commit 33dbbd1

Browse files
author
marter11
committed
basic projectView tests
1 parent b753aee commit 33dbbd1

File tree

6 files changed

+71
-5
lines changed

6 files changed

+71
-5
lines changed

src/api/controllers/projectController.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def update_project(self, id, **kwargs):
1919

2020
if project == None:
2121
return None
22-
22+
2323
for key, value in kwargs.items():
2424
if not hasattr(project, key):
2525
return None

src/tests/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from api import app
22
from api.models import db
3-
from api.models import User
3+
from api.models import User, Project

src/tests/api/models/__init__.py

Whitespace-only changes.
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
from tests.conftest import client
2+
from tests import db, User
3+
4+
class TestUserModel(object):
5+
pass
Lines changed: 36 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,38 @@
11
from tests.conftest import client
2+
from tests import db, Project
3+
from datetime import datetime
24

3-
def test_create_project(client):
4-
response = client.get('/projects')
5-
# assert response.status_code == 405
5+
class TestPorjectView(object):
6+
7+
valid_data = {
8+
'name': 'PB api',
9+
'description': 'A cool project',
10+
'repository': 'http://github.xy.com'
11+
}
12+
13+
def create_project_for_test_cases(self):
14+
new_project = Project(**self.valid_data)
15+
db.session.add(new_project)
16+
db.session.commit()
17+
return new_project.id
18+
19+
def test_create_project(self, client):
20+
response = client.post('/projects', json={"name": "Project"})
21+
assert response.status_code == 400
22+
23+
response = client.post('/projects', json=self.valid_data)
24+
assert response.status_code == 201
25+
26+
# response = client.post('/projects')
27+
# assert response.status_code == 400
28+
29+
def test_update_project(self, client):
30+
31+
# project id doesn't exist
32+
response = client.post('/projects/no_id', json={'name': 'Updated PB'})
33+
assert response.status_code == 404
34+
35+
project_id = self.create_project_for_test_cases()
36+
response = client.post('/projects/{}'.format(project_id), json={'description': 'updated desc'})
37+
project = Project.query.filter_by(id=project_id).first()
38+
assert project.description == 'updated desc'

src/tests/api/views/test_userView.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,31 @@ def test_get_user(self, client):
6161

6262
created_user = User.query.filter_by(id=user_id).first()
6363
assert response.get_json() == created_user.as_dict()
64+
65+
def test_get_all_users(self, client):
66+
self.create_user_for_test_cases()
67+
68+
self.valid_data = {
69+
'name': 'Valid',
70+
'bio': 'new',
71+
'languages': 'DE',
72+
'interests': 'e',
73+
'location': 'nowhere',
74+
'occupation': 'cashier2.1'
75+
}
76+
77+
self.create_user_for_test_cases()
78+
79+
response = client.get('/users')
80+
assert response.status_code == 200
81+
82+
users_list = User.query.all()
83+
users_dict = [users_list[0].as_dict(), users_list[1].as_dict()]
84+
assert response.get_json() == [users_list[0].as_dict(), users_list[1].as_dict()]
85+
86+
db.session.delete(users_list[0])
87+
db.session.commit()
88+
89+
response = client.get('/users')
90+
assert response.status_code == 200
91+
assert response.get_json() == [users_dict[1]]

0 commit comments

Comments
 (0)