Ejemplo n.º 1
0
    def test_get_efforts(self):
        employee = Employee()
        employee.id = 1
        employee.project_id = 1

        prv1 = Assignment()
        prv1.start_date =  date(2014, 2, 1)
        prv1.end_date = date(2014, 4, 30)
        prv1.effort = 25
        prv1.project_id = 1
        prv1.role_id = 1
        employee.assignments.add(prv1)

        prv2 = Assignment()
        prv2.start_date =  date(2014, 3, 1)
        prv2.end_date = date(2014, 6, 30)
        prv2.effort = 50
        prv2.project_id = 2
        prv2.role_id = 1
        employee.assignments.add(prv2)

        new_assignment = Assignment()
        new_assignment.start_date = date(2014, 1,1)
        new_assignment.end_date = date(2014, 1, 31)
        new_assignment.effort = 10
        new_assignment.project_id = 3
        new_assignment.role_id = 1
        new_assignment.employee = employee

        efforts = new_assignment.get_efforts()
        self.assertEqual(1, len(efforts))
        self.assertEqual(10, efforts[(2014,1)])

        new_assignment.end_date = date(2014, 2, 28)
        efforts = new_assignment.get_efforts()
        self.assertEqual(2, len(efforts))
        self.assertEqual(10, efforts[(2014,1)])
        self.assertEqual(35, efforts[(2014,2)])

        new_assignment.end_date = date(2014, 3, 31)
        efforts = new_assignment.get_efforts()
        self.assertEqual(3, len(efforts))
        self.assertEqual(10, efforts[(2014,1)])
        self.assertEqual(35, efforts[(2014,2)])
        self.assertEqual(85, efforts[(2014,3)])

        new_assignment.end_date = date(2014, 4, 30)
        efforts = new_assignment.get_efforts()
        self.assertEqual(4, len(efforts))
        self.assertEqual(10, efforts[(2014,1)])
        self.assertEqual(35, efforts[(2014,2)])
        self.assertEqual(85, efforts[(2014,3)])
        self.assertEqual(85, efforts[(2014,4)])

        new_assignment.end_date = date(2014, 6, 30)
        efforts = new_assignment.get_efforts()
        self.assertEqual(6, len(efforts))
        self.assertEqual(10, efforts[(2014,1)])
        self.assertEqual(35, efforts[(2014,2)])
        self.assertEqual(85, efforts[(2014,3)])
        self.assertEqual(85, efforts[(2014,4)])
        self.assertEqual(60, efforts[(2014,5)])
        self.assertEqual(60, efforts[(2014,6)])

        new_assignment.end_date = date(2014, 7, 31)
        efforts = new_assignment.get_efforts()
        self.assertEqual(7, len(efforts))
        self.assertEqual(10, efforts[(2014,1)])
        self.assertEqual(35, efforts[(2014,2)])
        self.assertEqual(85, efforts[(2014,3)])
        self.assertEqual(85, efforts[(2014,4)])
        self.assertEqual(60, efforts[(2014,5)])
        self.assertEqual(60, efforts[(2014,6)])
        self.assertEqual(10, efforts[(2014,7)])

        new_assignment.start_date = date(2014, 2, 1)
        efforts = new_assignment.get_efforts()
        self.assertEqual(6, len(efforts))
        self.assertEqual(35, efforts[(2014,2)])
        self.assertEqual(85, efforts[(2014,3)])
        self.assertEqual(85, efforts[(2014,4)])
        self.assertEqual(60, efforts[(2014,5)])
        self.assertEqual(60, efforts[(2014,6)])
        self.assertEqual(10, efforts[(2014,7)])