def _load_employee(self, employee_flds, cp_nbr): try: employee = Employee.objects.get(uid=employee_flds[0]) except Employee.DoesNotExist: from decimal import Decimal employee = Employee() employee.uid = employee_flds[0] employee.name = employee_flds[1] employee.fed_id = employee_flds[2] employee.grade = employee_flds[3] employee.step = employee_flds[4] employee.fte = employee_flds[5] employee.salary = employee_flds[6] employee.gross_pay = Decimal(employee_flds[7]) * 26 employee.cp_nbr = cp_nbr employee.save() self.employee_id = employee.id
def test_next_under(self): employee = Employee() employee.id = 1 employee.salary = 89752 employee.fte = Decimal(.83) assignment = Assignment() assignment.start_date = date(2013, 11, 1) assignment.end_date = date(2014, 4, 30) assignment.effort = 70 assignment.project_id = 1 assignment.role_id = 1 employee.assignments.add(assignment) assignment = Assignment() assignment.start_date = date(2013, 11, 1) assignment.end_date = date(2014, 4, 30) assignment.effort = 13 assignment.project_id = 2 assignment.role_id = 1 employee.assignments.add(assignment) actual = employee.next_under(start_date=date(2014, 1, 1)) self.assertEqual((2014,5), actual) employee.assignments.all().delete() assignment = Assignment() assignment.start_date = date(2013, 11, 1) assignment.end_date = date(2014, 4, 30) assignment.effort = 70 assignment.project_id = 1 assignment.role_id = 1 employee.assignments.add(assignment) assignment = Assignment() assignment.start_date = date(2013, 11, 1) assignment.end_date = date(2014, 3, 31) assignment.effort = 13 assignment.project_id = 2 assignment.role_id = 1 employee.assignments.add(assignment) actual = employee.next_under(start_date=date(2014, 1, 1)) self.assertEqual((2014,4), actual)
def test_get_efforts_by_month(self): employee = Employee() employee.id = 1 employee.project_id = 1 employee.salary = 89752 assignment = Assignment() assignment.start_date = date(2013, 12, 1) assignment.end_date = date(2014, 4, 30) assignment.effort = 25 assignment.project_id = 1 assignment.role_id = 1 employee.assignments.add(assignment) assignment = Assignment() assignment.start_date = date(2014, 3, 1) assignment.end_date = date(2014, 6, 30) assignment.effort = 50 assignment.project_id = 2 assignment.role_id = 1 employee.assignments.add(assignment) assignment = Assignment() assignment.start_date = date(2014, 1, 1) assignment.end_date = date(2014, 3, 31) assignment.effort = 10 assignment.project_id = 3 assignment.role_id = 1 employee.assignments.add(assignment) efforts = employee.get_efforts_by_month() self.assertEqual(7, len(efforts)) self.assertEqual(EffortCost(25, to_money(1869.83)), efforts[EffortMonth(2013, 12)]) self.assertEqual(EffortCost(35, to_money(2617.76)), efforts[EffortMonth(2014, 1)]) self.assertEqual(EffortCost(35, to_money(2617.76)), efforts[EffortMonth(2014, 2)]) self.assertEqual(EffortCost(85, to_money(6357.43)), efforts[EffortMonth(2014, 3)]) self.assertEqual(EffortCost(75, to_money(5609.50)), efforts[EffortMonth(2014, 4)]) self.assertEqual(EffortCost(50, to_money(3739.67)), efforts[EffortMonth(2014, 5)]) self.assertEqual(EffortCost(50, to_money(3739.67)), efforts[EffortMonth(2014, 6)])