def setUp(self): """ Set up the Testing clas: """ super(AttendanceTest, self).setUp() #self.client.client.login(username='******', password='******') self.shift = Shift(start_time=time(8, 0), end_time=time(17, 0)) self.shift.save() self.employee = Employee(shift=self.shift, **employee2_data) self.employee.save() # Regular attendance self.attendance = Attendance( date=date(2014, 7, 1), start_time=timezone('Asia/Bangkok').localize( datetime(2014, 7, 1, 7, 30, 0)), end_time=timezone('Asia/Bangkok').localize( datetime(2014, 7, 1, 23, 33, 0)), employee=self.employee, shift=self.shift) self.attendance.save() # Sunday attendance self.sunday_attendance = Attendance( date=date(2016, 2, 7), start_time=timezone('Asia/Bangkok').localize( datetime(2016, 2, 7, 8, 02, 0)), end_time=timezone('Asia/Bangkok').localize( datetime(2016, 2, 7, 23, 15, 0)), employee=self.employee, shift=self.shift) self.sunday_attendance.save() self.tz = timezone('Asia/Bangkok')
def setUp(self): """Setup for testing Employees: - 1. Daily employee - 1.1 Attendances - 2. Salaried employee - 2.1 Attendances - 3. Daily Manager - 3.1 Attendances """ self.shift = Shift(start_time=time(8, 0), end_time=time(17, 0)) self.shift.save() self.employee1 = Employee.objects.create(**employee2_data) self.employee2 = Employee.objects.create(**employee1_data) self.employee3 = Employee.objects.create(**employee4_data) self.manager = Employee.objects.create(**manager_data) # Create attendances for first half of the month for i in xrange(0, 6): a_date = date(2016, 2, 1 + i) # Create attendances for daily employee a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 1 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 1 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.employee1, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create attendances for monthly employee a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 1 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 1 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.employee2, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create attendances for daily employee in cambodia a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 1 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 1 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.employee3, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create attendances for daily manager a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 1 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 1 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.manager, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create the attendances for the latter half of the month for i in xrange(0, 6): a_date = date(2016, 2, 15 + i) # Create attendances for daily employee a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 15 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 15 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.employee1, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create attendances for monthly employee a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 15 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 15 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.employee2, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create attendances for daily employee in cambodia a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 15 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 15 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.employee3, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save() # Create attendances for daily manager a = Attendance.objects.create( date=a_date, start_time=datetime(2016, 2, 15 + i, 7, 30, 0, tzinfo=timezone('Asia/Bangkok')), end_time=datetime(2016, 2, 15 + i, 17, 15, 0, tzinfo=timezone('Asia/Bangkok')), employee=self.manager, shift=self.shift) a.calculate_times() a.calculate_net_wage() a.save()