Skip to content

Commit

Permalink
Refactorización de elementos generales
Browse files Browse the repository at this point in the history
  • Loading branch information
Dionakra committed Apr 24, 2017
1 parent d3f8fa6 commit d60627c
Show file tree
Hide file tree
Showing 11 changed files with 73 additions and 79 deletions.
2 changes: 0 additions & 2 deletions Metronus-Project/metronus_app/model/companyLog.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
from django.db import models
from metronus_app.model.company import Company


class CompanyLog(models.Model):
cif = models.CharField(max_length=9, unique=True)
Expand Down
1 change: 0 additions & 1 deletion Metronus-Project/metronus_app/model/goalEvolution.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
from django.db import models
from django.contrib.auth.models import User
from metronus_app.model.actor import Actor
from metronus_app.model.task import Task
from metronus_app.model.projectDepartment import ProjectDepartment
Expand Down
1 change: 0 additions & 1 deletion Metronus-Project/metronus_app/model/projectDepartment.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from django.db import models

from metronus_app.model.company import Company
from metronus_app.model.department import Department
from metronus_app.model.project import Project

Expand Down
2 changes: 1 addition & 1 deletion Metronus-Project/metronus_app/model/task.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from django.db import models
from django.contrib.auth.models import User
from metronus_app.model.actor import Actor
from metronus_app.model.projectDepartment import ProjectDepartment

class Task(models.Model):
name = models.CharField(max_length=30)
description = models.CharField(max_length=200)
Expand Down
4 changes: 2 additions & 2 deletions Metronus-Project/metronus_app/test/testDashboard.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from metronus_app.model.project import Project
from metronus_app.model.administrator import Administrator
from metronus_app.model.department import Department

import string
import random
from populate_database import populate_database
Expand Down Expand Up @@ -71,7 +71,7 @@ def create_task_in_projdept(project, department):
n_pro = len(projects)
# Do the random test 5 times

for k in range(5):
for _ in range(5):

# Remove all tasks and time logs
TimeLog.objects.all().delete()
Expand Down
18 changes: 9 additions & 9 deletions Metronus-Project/metronus_app/test/testDepartmentMetrics.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ def setUp(self):
"""
Loads the data to the database for tests to be done
"""
company1 = Company.objects.create(
company1 = Company.objects.create(
cif="123",
company_name="company1",
short_name="mplp",
Expand Down Expand Up @@ -176,7 +176,8 @@ def setUp(self):
company_id=company1
)

dep1 = Department.objects.create(
# Department 1
Department.objects.create(
name="Departamento1",
active=True,
company_id=company1
Expand Down Expand Up @@ -213,16 +214,16 @@ def setUp(self):
)

role_ex = Role.objects.create(name="EXECUTIVE", tier=50)
role_pm = Role.objects.create(name="PROJECT_MANAGER", tier=40)
Role.objects.create(name="PROJECT_MANAGER", tier=40)
role_tm = Role.objects.create(name="TEAM_MANAGER", tier=30)
role_co = Role.objects.create(name="COORDINATOR", tier=20)
role_em = Role.objects.create(name="EMPLOYEE", tier=10)
Role.objects.create(name="EMPLOYEE", tier=10)

pro1 = Project.objects.create(name="pro1", deleted=False, company_id=company1)
pro2 = Project.objects.create(name="pro2", deleted=False, company_id=company2)
Project.objects.create(name="pro2", deleted=False, company_id=company2)
pro3 = Project.objects.create(name="pro3", deleted=False, company_id=company1)
pro4 = Project.objects.create(name="pro4", deleted=False, company_id=company1)
pro_random = Project.objects.create(name="pro_random", deleted=False, company_id=company1)
Project.objects.create(name="pro_random", deleted=False, company_id=company1)

pd = ProjectDepartment.objects.create(project_id=pro1, department_id=dep2)
pd2 = ProjectDepartment.objects.create(project_id=pro1, department_id=dep_rand)
Expand Down Expand Up @@ -293,7 +294,7 @@ def test_bad_request_emppertask(self):

response = c.get("/department/ajaxEmployeesPerTask")
self.assertEquals(response.status_code, 400)

def test_random_data_emppertask(self):
"""
Does a lot of random test and checks the data generate matches the emppertask JSON
Expand Down Expand Up @@ -334,7 +335,7 @@ def test_random_data_emppertask(self):
response = c.get("/department/ajaxEmployeesPerTask?department_id={0}" .format( Department.objects.get(name="Dep_rand").id))
self.assertEquals(response.status_code, 200)
checkJsonMetricsAreEqual(self, str(response.content, encoding='utf8'), true_data)

def test_access_denied_not_logged_timepertask(self):
"""
Try getting the timepertask JSON without authentication
Expand Down Expand Up @@ -483,4 +484,3 @@ def test_bad_request_profit(self):

response = c.get("/department/ajaxProfit")
self.assertEquals(response.status_code, 404)

Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ def setUp(self):
first_name="Nimad",
last_name="Rotartis")

admin1 = Administrator.objects.create(
Administrator.objects.create(
user=admin_user1,
user_type="A",
identifier="adm01",
Expand Down
23 changes: 11 additions & 12 deletions Metronus-Project/metronus_app/test/testProjectMetrics.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.contrib.auth.models import User
from django.test import TestCase, Client
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.core.exceptions import ObjectDoesNotExist

from metronus_app.model.employee import Employee
from metronus_app.model.projectDepartment import ProjectDepartment
Expand All @@ -12,7 +12,7 @@
from metronus_app.model.role import Role
from metronus_app.model.administrator import Administrator
from metronus_app.model.department import Department

import string, random, json

def checkJsonMetricsAreEqual(self, response_string, data):
Expand Down Expand Up @@ -45,7 +45,7 @@ def setUp(self):
"""
Loads the data to the database for tests to be done
"""
company1 = Company.objects.create(
company1 = Company.objects.create(
cif="123",
company_name="company1",
short_name="mplp",
Expand Down Expand Up @@ -121,7 +121,7 @@ def setUp(self):
company_id=company1
)

dep3 = Department.objects.create(
Department.objects.create(
name="Departamento3",
active=True,
company_id=company1
Expand Down Expand Up @@ -151,7 +151,7 @@ def setUp(self):

pd = ProjectDepartment.objects.create(project_id=pro1, department_id=dep2)

pdrole1 = ProjectDepartmentEmployeeRole.objects.create(
ProjectDepartmentEmployeeRole.objects.create(
projectDepartment_id = pd,
role_id = role_tm,
employee_id = employee1
Expand Down Expand Up @@ -211,7 +211,7 @@ def test_bad_request_empperdmtp(self):

response = c.get("/project/ajaxEmployeesPerDpmt")
self.assertEquals(response.status_code, 400)

def test_random_data_empperdmtp(self):
"""
Does a lot of random test and checks the data generate matches the empperdmtp JSON
Expand Down Expand Up @@ -255,7 +255,7 @@ def createEmployeeInProjDept(project, department):
# Do the random test 5 times
for k in range(5):
ProjectDepartmentEmployeeRole.objects.all().delete()

employees_per_dpmt = [random.choice(range(11)) for _ in range(n_dep)]
true_data = {'names': [], 'values': []}

Expand Down Expand Up @@ -354,7 +354,7 @@ def createTaskInProjDept(project, department):
# Do the random test 5 times
for k in range(5):
Task.objects.all().delete()

tasks_per_dpmt = [random.choice(range(11)) for _ in range(n_dep)]
true_data = {'names': [], 'values': []}

Expand Down Expand Up @@ -407,7 +407,7 @@ def test_access_other_company_executive_timeperdpmt(self):
"""
Try getting the timeperdpmt JSON without as an executive from other company
"""

c = Client()
c.login(username="emp2", password="123456")

Expand Down Expand Up @@ -461,7 +461,7 @@ def createTaskInProjDept(project, department):

departments = Department.objects.filter(company_id__company_name="company1")
project = Project.objects.get(name="pro_random")

n_dep=len(departments)
# Do the random test 5 times

Expand All @@ -472,7 +472,7 @@ def createTaskInProjDept(project, department):
Task.objects.all().delete()

true_data = {'names': [], 'values': []}

for i in range(n_dep):
dpmt = departments[i]

Expand Down Expand Up @@ -503,4 +503,3 @@ def createTaskInProjDept(project, department):
response = c.get("/project/ajaxTimePerDpmt?project_id={0}&start_date=2016-01-01&end_date=2017-01-01" .format( project.id))
self.assertEquals(response.status_code, 200)
checkJsonMetricsAreEqual(self, str(response.content, encoding='utf8'), true_data)

39 changes: 19 additions & 20 deletions Metronus-Project/metronus_app/test/testTask.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
from metronus_app.model.department import Department
from metronus_app.model.company import Company
from metronus_app.model.task import Task
from django.contrib.auth.models import User
from django.test import TestCase, Client
from metronus_app.model.employee import Employee
from metronus_app.model.project import Project
from metronus_app.model.goalEvolution import GoalEvolution
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from populate_database import populate_database
from metronus_app.model.department import Department
from metronus_app.model.task import Task
from django.contrib.auth.models import User
from django.test import TestCase, Client
from metronus_app.model.project import Project
from metronus_app.model.goalEvolution import GoalEvolution
from django.core.exceptions import PermissionDenied
from populate_database import populate_database
import json

class TaskTestCase(TestCase):
"""This class provides a test case for using and managing tasks"""
@classmethod
Expand Down Expand Up @@ -74,7 +73,7 @@ def test_create_task_positive_2(self):
dep = Task.objects.all().last()
self.assertEquals(dep.name, "hacer memes")
self.assertEquals(dep.active,True)

#response in bytes must be decode to string
data=response.content.decode("utf-8")
#string to dict
Expand Down Expand Up @@ -115,7 +114,7 @@ def test_create_invalid_task_filled_price(self):


def test_create_task_duplicate(self):
"""
"""
Logged in as an administrator, try to create an task with the name of an existing company
"""
c = Client()
Expand Down Expand Up @@ -152,7 +151,7 @@ def test_create_task_project_department_not_related(self):
self.assertEquals(response.status_code, 200)
self.assertNotIn("task_creation_repeated_name",response.context["errors"])
self.assertIn("task_creation_project_department_not_related",response.context["errors"])


def test_create_task_not_logged(self):
"""
Expand Down Expand Up @@ -269,7 +268,7 @@ def test_edit_task_404(self):
self.assertEquals(response.status_code, 404)

def test_edit_task_positive(self):
"""
"""
Logged in as an administrator, try to edit a task
"""
c = Client()
Expand Down Expand Up @@ -309,7 +308,7 @@ def test_edit_task_positive_2(self):

dep_id=Department.objects.get(name="Frontend").id


task_id=Task.objects.filter(name="Hacer cosas de front").first().id

logs_before = GoalEvolution.objects.all().count()
Expand Down Expand Up @@ -342,7 +341,7 @@ def test_edit_task_positive_3(self):

dep_id=Department.objects.get(name="Frontend").id


task_id=Task.objects.filter(name="Hacer cosas de front").first().id

logs_before = GoalEvolution.objects.all().count()
Expand Down Expand Up @@ -375,7 +374,7 @@ def test_edit_task_invalid_price(self):

dep_id=Department.objects.get(name="Frontend").id


task_id=Task.objects.filter(name="Hacer cosas de front").first().id

logs_before = GoalEvolution.objects.all().count()
Expand All @@ -394,7 +393,7 @@ def test_edit_task_invalid_price(self):
self.assertEquals(response.status_code, 200)
logs_after = GoalEvolution.objects.all().count()
self.assertEquals(logs_before, logs_after)

self.assertNotIn("task_creation_invalid_goal",response.context["errors"])
self.assertIn("task_creation_invalid_price",response.context["errors"])

Expand All @@ -410,7 +409,7 @@ def test_edit_task_invalid_price_all_filled(self):

dep_id=Department.objects.get(name="Frontend").id


task_id=Task.objects.filter(name="Hacer cosas de front").first().id

logs_before = GoalEvolution.objects.all().count()
Expand Down Expand Up @@ -515,7 +514,7 @@ def test_delete_task_not_allowed(self):

def test_delete_task_not_active(self):
"""
Try deleting an already deleted task
Try deleting an already deleted task
"""
c = Client()
c.login(username="ddlsb", password="123456")
Expand Down
14 changes: 7 additions & 7 deletions Metronus-Project/metronus_app/test/testTaskMetrics.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from django.contrib.auth.models import User
from django.test import TestCase, Client
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.core.exceptions import ObjectDoesNotExist

from metronus_app.model.employee import Employee
from metronus_app.model.projectDepartment import ProjectDepartment
Expand Down Expand Up @@ -216,7 +216,7 @@ def setUp(self):

pro1 = Project.objects.create(name="pro1", deleted=False, company_id=company1)
pro2 = Project.objects.create(name="pro2", deleted=False, company_id=company2)
pro3 = Project.objects.create(name="pro3", deleted=False, company_id=company1)
Project.objects.create(name="pro3", deleted=False, company_id=company1)
pro4 = Project.objects.create(name="pro4", deleted=False, company_id=company1)
pro_random = Project.objects.create(name="pro_random", deleted=False, company_id=company1)

Expand All @@ -230,7 +230,7 @@ def setUp(self):
employee_id=employee1
)

pdrole2 = ProjectDepartmentEmployeeRole.objects.create(
ProjectDepartmentEmployeeRole.objects.create(
projectDepartment_id=pd,
role_id=role_ex,
employee_id=employee2
Expand All @@ -255,7 +255,7 @@ def setUp(self):
projectDepartment_id = pd
)

task3 = Task.objects.create(
Task.objects.create(
name ="Hacer cosas de front",
description = "nada",
actor_id = employee2,
Expand All @@ -264,18 +264,18 @@ def setUp(self):
goal_description="kgs"
)


def test_access_denied_not_logged_prod_task(self):
"""
Without authentication, try getting the prod_per_task JSON
"""
c = Client()

response = c.get("/task/ajaxProdPerTask?task_id={0}".format( Task.objects.all().first().id))

#redirected to login
self.assertEquals(response.status_code, 302)

def test_access_ok_logged_prod_task(self):
"""
With proper roles, get the prod_per_task JSON
Expand Down
Loading

0 comments on commit d60627c

Please sign in to comment.