def setUp(self): # register dashboard_signup(self.app, '*****@*****.**', 'password1') # generate data call_command('populate_workspace', 'password1.com', '*****@*****.**', '10', '10', '2015-01-01', '2015-01-02', 'False')
def test_existing_ws_name(self): #form = self.app.get('/website/').form #form['language'] = 'en' #form.submit() (response, workspace, user) = dashboard_signup(self.app, '*****@*****.**', 'toto') (response, workspace, user) = dashboard_signup(self.app, '*****@*****.**', 'titi') self.assertContains(response, ws_already_exist)
def setUp(self): dashboard_signup(self.app, '*****@*****.**', '*****@*****.**') for un in ['*****@*****.**', '*****@*****.**']: client_signup(self.app, un, un) dashboard_signup(self.app, '*****@*****.**', '*****@*****.**') for un in ['*****@*****.**', '*****@*****.**']: client_signup(self.app, un, un)
def setUp(self): (response, workspace, user) = dashboard_signup(self.app, '*****@*****.**', 'password1') dashboard_create_task(self.app, 'PROJET1', user) dashboard_create_task(self.app, 'Accès2', user) dashboard_create_task(self.app, 'à la pêche', user)
def test_working_case(self): (response, workspace, user) = dashboard_signup(self.app, '*****@*****.**', 'password1') assert response.status == '302 FOUND' assert 'signup' not in response.location ws = Workspace.objects.get(name='password1.com') user = User.objects.get(email='*****@*****.**') assert user.is_staff is False assert user.is_superuser is False p = Profile.objects.get(user=user) assert p.has_dashboard_access is True assert p.is_hr is True assert p.is_primary is True
def setUp(self): (response, workspace, user) = dashboard_signup(self.app, '*****@*****.**', 'secret') (response, self.t1) = dashboard_create_task(self.app, 'MAJ à la peêêche', user)
def test_move_task(self): (response, workspace, user1) = dashboard_signup(self.app, '*****@*****.**', 'secret') date = timezone.now().date() ds1 = DailySalary.objects.create(workspace=workspace, profile=user1, start_date=date, end_date=date, daily_wage=100) (response, task1) = dashboard_create_task(self.app, u"à la pêche", user1) (response, task2) = dashboard_create_task(self.app, u"MAJ LÉR", user1, parent=task1) (response, task3) = dashboard_create_task(self.app, 'T3', user1) (response, workspace, user2) = client_signup(self.app, '*****@*****.**', 'secret') ds2 = DailySalary.objects.create(workspace=workspace, profile=user2, start_date=date, end_date=date, daily_wage=200) # create task & records record = AutoRecord.objects.create(workspace=workspace, task=task1, profile=user1, start=timezone.now()) record.end = record.start + dt.timedelta(minutes=30) record.save() record = AutoRecord.objects.create(workspace=workspace, task=task1, profile=user2, start=timezone.now()) record.end = record.start + dt.timedelta(minutes=60) record.save() # create a sub-task & records record = AutoRecord.objects.create(workspace=workspace, task=task2, profile=user1, start=timezone.now()) record.end = record.start + dt.timedelta(minutes=30) record.save() record = AutoRecord.objects.create(workspace=workspace, task=task2, profile=user2, start=timezone.now()) record.end = record.start + dt.timedelta(minutes=15) record.save() # create task & records record = AutoRecord.objects.create(workspace=workspace, task=task3, profile=user1, start=timezone.now()) record.end = record.start + dt.timedelta(minutes=40) record.save() record = AutoRecord.objects.create(workspace=workspace, task=task3, profile=user2, start=timezone.now()) record.end = record.start + dt.timedelta(minutes=25) record.save() # check ddt1 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt1.duration, dt.timedelta(minutes=135)) self.assertEqual(ddt1.children_duration, dt.timedelta(minutes=45)) self.assertEqual(ddt1.cost, Decimal('210.00')) self.assertEqual(ddt1.children_cost, Decimal('60.00')) ddt2 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task2) self.assertEqual(ddt2.duration, dt.timedelta(minutes=45)) self.assertEqual(ddt2.children_duration, dt.timedelta(0)) self.assertEqual(ddt2.cost, Decimal('60.00')) self.assertEqual(ddt2.children_cost, Decimal('0.00')) ddt3 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task3) self.assertEqual(ddt3.duration, dt.timedelta(minutes=65)) self.assertEqual(ddt3.children_duration, dt.timedelta(0)) self.assertEqual(ddt3.cost, Decimal('90.00')) self.assertEqual(ddt3.children_cost, Decimal('0.00')) # move & check task2.parent = task3 task2.save() ddt1 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt1.duration, dt.timedelta(minutes=90)) self.assertEqual(ddt1.children_duration, dt.timedelta(0)) self.assertEqual(ddt1.cost, Decimal('150.00')) self.assertEqual(ddt1.children_cost, Decimal('0.00')) ddt2 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task2) self.assertEqual(ddt2.duration, dt.timedelta(minutes=45)) self.assertEqual(ddt2.children_duration, dt.timedelta(0)) self.assertEqual(ddt2.cost, Decimal('60.0')) self.assertEqual(ddt2.children_cost, Decimal('0.00')) ddt3 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task3) self.assertEqual(ddt3.duration, dt.timedelta(minutes=110)) self.assertEqual(ddt3.children_duration, dt.timedelta(minutes=45)) self.assertEqual(ddt3.cost, Decimal('150.00')) self.assertEqual(ddt3.children_cost, Decimal('60.00')) # move & check task1.parent = task3 task1.save() ddt1 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt1.duration, dt.timedelta(minutes=90)) self.assertEqual(ddt1.children_duration, dt.timedelta(0)) self.assertEqual(ddt1.cost, Decimal('150.00')) self.assertEqual(ddt1.children_cost, Decimal('0.00')) ddt2 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task2) self.assertEqual(ddt2.duration, dt.timedelta(minutes=45)) self.assertEqual(ddt2.children_duration, dt.timedelta(0)) self.assertEqual(ddt2.cost, Decimal('60.0')) self.assertEqual(ddt2.children_cost, Decimal('0.00')) ddt3 = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task3) self.assertEqual(ddt3.duration, dt.timedelta(minutes=200)) self.assertEqual(ddt3.children_duration, dt.timedelta(minutes=135)) self.assertEqual(ddt3.cost, Decimal('300.00')) self.assertEqual(ddt3.children_cost, Decimal('210'))
def test_time_cost(self): (response, workspace, user1) = dashboard_signup(self.app, '*****@*****.**', 'secret') # set salary fs = DailySalary.objects.create(workspace=workspace, profile=user1, start_date=timezone.now().date(), end_date=timezone.now().date(), daily_wage=100) # create 1 task & 1 record and check (response, task1) = dashboard_create_task(self.app, u"à la pêche", user1) record1 = AutoRecord.objects.create(workspace=workspace, task=task1, profile=user1, start=timezone.now()) record1.end = record1.start + dt.timedelta(minutes=6) record1.save() date = record1.start.date() ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task1, profile=user1) self.assertEqual(ddtu.duration, dt.timedelta(minutes=6)) self.assertEqual(ddtu.time_ratio, Decimal('1.00')) self.assertEqual(ddtu.cost, Decimal('100.00')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt.duration, dt.timedelta(minutes=6)) self.assertEqual(ddt.children_duration, dt.timedelta(0)) self.assertEqual(ddt.cost, Decimal('100.00')) self.assertEqual(ddt.children_cost, Decimal('0.00')) # create a sub-task with 1 record and check (response, task2) = dashboard_create_task(self.app, u"MAJ LÉR", user1, parent=task1) record2 = AutoRecord.objects.create(workspace=workspace, task=task2, profile=user1, start=timezone.now()) record2.end = record2.start + dt.timedelta(minutes=12) record2.save() ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task1, profile=user1) self.assertEqual(ddtu.duration, dt.timedelta(minutes=6)) self.assertEqual(ddtu.time_ratio, Decimal('0.33')) self.assertEqual(ddtu.cost, Decimal('33.33')) ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task2, profile=user1) self.assertEqual(ddtu.duration, dt.timedelta(minutes=12)) self.assertEqual(ddtu.time_ratio, Decimal('0.67')) self.assertEqual(ddtu.cost, Decimal('66.67')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt.duration, dt.timedelta(minutes=18)) self.assertEqual(ddt.children_duration, dt.timedelta(minutes=12)) self.assertEqual(ddt.cost, Decimal('100.00')) self.assertEqual(ddt.children_cost, Decimal('66.67')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task2) self.assertEqual(ddt.duration, dt.timedelta(minutes=12)) self.assertEqual(ddt.children_duration, dt.timedelta(0)) self.assertEqual(ddt.cost, Decimal('66.67')) self.assertEqual(ddt.children_cost, Decimal('0.00')) # add more records to the tasks record3 = AutoRecord.objects.create(workspace=workspace, task=task1, profile=user1, start=timezone.now()) record3.end = record3.start + dt.timedelta(minutes=12) record3.save() record4 = AutoRecord.objects.create(workspace=workspace, task=task2, profile=user1, start=timezone.now()) record4.end = record4.start + dt.timedelta(minutes=12) record4.save() ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task1, profile=user1) self.assertEqual(ddtu.duration, dt.timedelta(minutes=18)) self.assertEqual(ddtu.time_ratio, Decimal('0.43')) self.assertEqual(ddtu.cost, Decimal('42.86')) ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task2, profile=user1) self.assertEqual(ddtu.duration, dt.timedelta(minutes=24)) self.assertEqual(ddtu.time_ratio, Decimal('0.57')) self.assertEqual(ddtu.cost, Decimal('57.14')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt.duration, dt.timedelta(minutes=42)) self.assertEqual(ddt.children_duration, dt.timedelta(minutes=24)) self.assertEqual(ddt.cost, Decimal('100.00')) self.assertEqual(ddt.children_cost, Decimal('57.14')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task2) self.assertEqual(ddt.duration, dt.timedelta(minutes=24)) self.assertEqual(ddt.children_duration, dt.timedelta(0)) self.assertEqual(ddt.cost, Decimal('57.14')) self.assertEqual(ddt.children_cost, Decimal('0.00')) # add new users with records (response, workspace, user2) = client_signup(self.app, '*****@*****.**', 'secret') (response, workspace, user3) = client_signup(self.app, '*****@*****.**', 'secret') fs = DailySalary.objects.create(workspace=workspace, profile=user2, start_date=timezone.now().date(), end_date=timezone.now().date(), daily_wage=200) fs = DailySalary.objects.create(workspace=workspace, profile=user3, start_date=timezone.now().date(), end_date=timezone.now().date(), daily_wage=300) record5 = AutoRecord.objects.create(workspace=workspace, task=task1, profile=user2, start=timezone.now()) record5.end = record5.start + dt.timedelta(minutes=12) record5.save() ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task1, profile=user2) self.assertEqual(ddtu.duration, dt.timedelta(minutes=12)) self.assertEqual(ddtu.time_ratio, Decimal('1.00')) self.assertEqual(ddtu.cost, Decimal('200.00')) record6 = AutoRecord.objects.create(workspace=workspace, task=task2, profile=user3, start=timezone.now()) record6.end = record6.start + dt.timedelta(minutes=6) record6.save() ddtu = DailyDataPerTaskPerUser.objects.get(workspace=workspace, date=date, task=task2, profile=user3) self.assertEqual(ddtu.duration, dt.timedelta(minutes=6)) self.assertEqual(ddtu.time_ratio, Decimal('1.00')) self.assertEqual(ddtu.cost, Decimal('300.00')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task1) self.assertEqual(ddt.duration, dt.timedelta(minutes=60)) self.assertEqual(ddt.children_duration, dt.timedelta(minutes=30)) self.assertEqual(ddt.cost, Decimal('600.00')) self.assertEqual(ddt.children_cost, Decimal('357.14')) ddt = DailyDataPerTask.objects.get(workspace=workspace, date=date, task=task2) self.assertEqual(ddt.duration, dt.timedelta(minutes=30)) self.assertEqual(ddt.children_duration, dt.timedelta(0)) self.assertEqual(ddt.cost, Decimal('357.14')) self.assertEqual(ddt.children_cost, Decimal('0.00'))
def setUp(self): (response, workspace, self.charly) = dashboard_signup(self.app, '*****@*****.**', 'secret')
def setUp(self): dashboard_signup(self.app, '*****@*****.**', 'secret')