Skip to content

Commit

Permalink
Merge cce9839 into f01aeae
Browse files Browse the repository at this point in the history
  • Loading branch information
JennyRemolina committed Jul 11, 2019
2 parents f01aeae + cce9839 commit e253b73
Show file tree
Hide file tree
Showing 5 changed files with 197 additions and 15 deletions.
7 changes: 3 additions & 4 deletions api/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -97,10 +97,9 @@ def create(self, validated_data):
users_data = validated_data.pop('task_to_user')
except KeyError as k:
users_data = {}
task = Project.objects.create(**validated_data)
# for data in users_data:
# UserProject.objects.create(task=task, **data)

task = Task.objects.create(**validated_data)
#for data in users_data:
# Assignee.objects.create(task=task, **data)
return task


Expand Down
15 changes: 15 additions & 0 deletions api/tests/authBase.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
from rest_framework.test import APITestCase

from users.models import CustomUser


class AuthBaseTestCase(APITestCase):
email = "@testuser.com"
password = "12345Hola"

def setUp(self):
self.user = CustomUser.objects.create_user('user', 'user'+self.email, self.password)
self.jefe = CustomUser.objects.create_user('jefe', 'jefe'+self.email, self.password)
self.emp1 = CustomUser.objects.create_user('emp1', 'emp1'+self.email, self.password)
self.emp2 = CustomUser.objects.create_user('emp2', 'emp2'+self.email, self.password)
self.client.login(username='jefe', password=self.password)
52 changes: 52 additions & 0 deletions api/tests/test_boards.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import json

from users.models import CustomUser

from api.models import *
from api.serializers import *

from .authBase import AuthBaseTestCase



class BoardTestCase(AuthBaseTestCase):
url = '/api/v1/boards'

def setUp(self):
super().setUp() # Authenticanting
self.data_project = {
"title": "black mesa",
"description": "particle accelerator",
"creator": self.jefe,
}
self.project = Project.objects.create(**self.data_project)
self.boards = Board.objects.all()
self.board = self.boards[0]
print(self.boards)
print(self.board)
self.data_task = {
"title": "task 1",
"description": "first task",
"priority": 1,
"due_date": "2019-11-11",
"board": self.board,
}
self.task = Task.objects.create(**self.data_task)
self.data_task['board'] = self.board.id


def test_read_board_get(self):
"""
Test to verify GET board valid (Model and Serializer)
"""
url = self.url + '?project={id}'.format(id=self.project.id)
response = self.client.get(url)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)
response_data = json.loads(response.content)
print(response_data)
boardSerial = BoardSerializer(instance=self.board)
boardsSerial= [BoardSerializer(instance=x).data for x in self.boards]
print(boardSerial.data)
print(boardsSerial)
self.assertEqual(boardsSerial, response_data['results'])
12 changes: 1 addition & 11 deletions api/tests/test_projects.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,7 @@
from api.models import *
from api.serializers import *


class AuthBaseTestCase(APITestCase):
email = "@testuser.com"
password = "12345Hola"

def setUp(self):
self.user = CustomUser.objects.create_user('user', 'user'+self.email, self.password)
self.jefe = CustomUser.objects.create_user('jefe', 'jefe'+self.email, self.password)
self.emp1 = CustomUser.objects.create_user('emp1', 'emp1'+self.email, self.password)
self.emp2 = CustomUser.objects.create_user('emp2', 'emp2'+self.email, self.password)
self.client.login(username='jefe', password=self.password)
from .authBase import AuthBaseTestCase



Expand Down
126 changes: 126 additions & 0 deletions api/tests/test_tasks.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
import json

from users.models import CustomUser

from api.models import *
from api.serializers import *

from .authBase import AuthBaseTestCase



class TaskTestCase(AuthBaseTestCase):
url = '/api/v1/tasks'

def setUp(self):
super().setUp() # Authenticanting
self.data_project = {
"title": "black mesa",
"description": "particle accelerator",
"creator": self.jefe,
}
self.project = Project.objects.create(**self.data_project)
self.boards = Board.objects.all()
self.board = self.boards[0]
print(self.boards)
print(self.board)
self.data = {
"title": "task 1",
"description": "first task",
"priority": 1,
"due_date": "2019-11-11",
"board": self.board,
}
self.task = Task.objects.create(**self.data)
self.data['board'] = self.board.id


def test_read_task_get(self):
"""
Test to verify GET task valid (Model and Serializer)
"""
print('before get')
url = self.url + '?board={id}'.format(id=self.board.id)
response = self.client.get(url)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)
response_data = json.loads(response.content)
print(response_data)
taskSerial = TaskSerializer(instance=self.task)
print(taskSerial.data)
self.assertEqual(taskSerial.data, response_data['results'][0])


def test_create_task_post(self):
"""
Test to verify POST task valid
"""
self.data['title'] = 'task 2'
self.data['description'] = 'second task'
self.data['board'] = self.board.id
response = self.client.post(self.url, self.data)
print(response.status_code, response.content)
self.assertEqual(201, response.status_code)

url = self.url + '?board={id}'.format(id=self.board.id)
response = self.client.get(url)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)
response_data = json.loads(response.content)
self.assertEqual(2, response_data['count']) # 2 projects


def test_delete_task_delete(self):
"""
Test to verify DELETE task valid
"""
url = self.url+'/{task_id}?board={board_id}'.format(
task_id=self.task.id, board_id=self.board.id)
response = self.client.get(url)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)

response = self.client.delete(url)
print(response.status_code, response.content)
self.assertEqual(204, response.status_code)
self.assertEqual(b'', response.content)


def test_update_task_patch(self):
"""
Test to verify PATCH task valid
"""
data = {'title': 'Task 1(one)'}
url = self.url+'/{task_id}?board={board_id}'.format(
task_id=self.task.id, board_id=self.board.id)
response = self.client.get(url)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)

response = self.client.patch(url, data)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)
response_data = json.loads(response.content)
print(response_data)
self.assertEqual(data['title'], response_data['title']) # updated


def test_update_task_put(self):
"""
Test to verify PUT task valid
"""
data = dict(self.data) # copy
data['title'] = 'Task 1(one)'

url = self.url+'/{task_id}?board={board_id}'.format(
task_id=self.task.id, board_id=self.board.id)
response = self.client.get(url)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)

response = self.client.put(url, data)
print(response.status_code, response.content)
self.assertEqual(200, response.status_code)
response_data = json.loads(response.content)
print(response_data)
self.assertEqual(data['title'], response_data['title']) # updated

0 comments on commit e253b73

Please sign in to comment.