Пример #1
0
 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')
Пример #2
0
 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)
Пример #3
0
 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)
Пример #4
0
 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)
Пример #5
0
 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
Пример #6
0
 def setUp(self):
     (response, workspace, user) = dashboard_signup(self.app,
                                                    '*****@*****.**',
                                                    'secret')
     (response, self.t1) = dashboard_create_task(self.app,
                                                 'MAJ à la peêêche', user)
Пример #7
0
 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'))
Пример #8
0
 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'))
Пример #9
0
 def setUp(self):
     (response, workspace,
      self.charly) = dashboard_signup(self.app, '*****@*****.**',
                                      'secret')
Пример #10
0
 def setUp(self):
     dashboard_signup(self.app, '*****@*****.**', 'secret')