Example #1
0
 def testSpanCalculation(self):
     self.project = ProjectFactory(
         weekly_closure_days=[5, 6]
     )
     self.frontend_group = GroupFactory(name='Frontend team', project=self.project)
     self.fe_approver_1 = UserFactory(first_name='Mark', last_name='Green', project=self.project)
     self.fe_user_1 = UserFactory(first_name='John', last_name='Doe', approval_group=self.frontend_group, project=self.project)
     
     r1 = ApprovalRuleFactory(order=0, group=self.frontend_group, approver=self.fe_approver_1)
     
     # Set up some closure periods (dates are considered inclusive)
     ClosurePeriodFactory(
         project=self.project,
         start=datetime.date(2012, 11, 6),
         end=datetime.date(2012, 11, 7)
     )
     
     ClosurePeriodFactory(
         project=self.project,
         start=datetime.date(2012, 11, 13),
         end=datetime.date(2012, 11, 13)
     )
     
     initial_days_left = self.fe_user_1.days_off_left
     
     # This request spans across a weekend (not to cosider),
     # and also is within a closure period.
     self.req = HolidayRequestFactory.build(
         author=self.fe_user_1,
         start_date=datetime.date(2012, 11, 5),
         end_date=datetime.date(2012, 11, 13),
         project=self.project
     )
     
     self.assertEqual(self.req.effective_days_span, 4)
     
     submitted_req, approval_list = self.req.submit()
     approval_list[0].approve()
     
     self.assertEqual(submitted_req.status, HolidayRequest.STATUS.approved)
     
     self.assertEqual(self.fe_user_1.days_off_left, initial_days_left - 4)
         
     
     
     
     
Example #2
0
 def setUp(self):
     self.project = ProjectFactory()
     self.frontend_group = GroupFactory(name='Frontend team', project=self.project)
     self.backend_group = GroupFactory(name='Backend team', project=self.project)
     self.fe_approver_1 = UserFactory(first_name='Mark', last_name='Green', project=self.project)
     self.fe_approver_2 = UserFactory(first_name='Adam', last_name='Red', approval_group=self.frontend_group, project=self.project)
     self.fe_user_1 = UserFactory(first_name='John', last_name='Doe', approval_group=self.frontend_group, project=self.project)
     
     r1 = ApprovalRuleFactory(order=0, group=self.frontend_group, approver=self.fe_approver_1)
     r2 = ApprovalRuleFactory(order=1, group=self.frontend_group, approver=self.fe_approver_2)
     
     self.req = HolidayRequestFactory.build(
         author=self.fe_user_1,
         requested_days_ago=3,
         start_date=datetime.date(2012, 11, 1),
         end_date=datetime.date(2012, 11, 3),
         project=self.project
     )