def test_partial_duplicate_holiday_end_last_week(self): last_friday = get_day_previous_week(4) holidays = { 2014: [ { 'date': last_friday.date(), 'percent_used': 0.8 }, { 'date': last_friday.date(), 'percent_used': 0.8 } ] } start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours(self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, (self.hours_per_week - (self.hours_per_workday * 0.8)))
def test_full_holiday_report_day(self): holidays = {2014: [{'date': self.datetime_now.date()}]} start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours( self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, self.hours_per_week)
def test_no_holiday_prev_year(self): holidays = {2014: []} start_date = datetime.datetime(2014, 12, 29) end_date = datetime.datetime(2015, 1, 4) workday = WorkDay(holidays, self.workdays, datetime.datetime(2015, 1, 5)) hours_needed = workday.calculate_total_work_hours( self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, self.hours_per_week)
def test_full_holiday_mid_last_week(self): last_wednesday = get_day_previous_week(2) holidays = {2014: [{'date': last_wednesday.date()}]} start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours( self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, (self.hours_per_week - self.hours_per_workday))
def test_partial_holiday_beginning_last_week(self): last_monday = get_day_previous_week(0) holidays = {2014: [{'date': last_monday.date(), 'percent_used': 0.8}]} start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours( self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, (self.hours_per_week - (self.hours_per_workday * 0.8)))
def test_no_holiday_prev_year(self): holidays = { 2014: [ ] } start_date = datetime.datetime(2014, 12, 29) end_date = datetime.datetime(2015, 1, 4) workday = WorkDay(holidays, self.workdays, datetime.datetime(2015, 1, 5)) hours_needed = workday.calculate_total_work_hours(self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, self.hours_per_week)
def test_full_holiday_report_day(self): holidays = { 2014: [ { 'date': self.datetime_now.date() } ] } start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours(self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, self.hours_per_week)
def test_full_holiday_mid_last_week(self): last_wednesday = get_day_previous_week(2) holidays = { 2014: [ { 'date': last_wednesday.date() } ] } start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours(self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, (self.hours_per_week - self.hours_per_workday))
def test_partial_holiday_mid_week_prev_year(self): holidays = { 2014: [ { 'date': datetime.date(2014, 12, 31), 'percent_used': 0.8 } ] } start_date = datetime.datetime(2014, 12, 29) end_date = datetime.datetime(2015, 1, 4) workday = WorkDay(holidays, self.workdays, datetime.datetime(2015, 1, 5)) hours_needed = workday.calculate_total_work_hours(self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, (self.hours_per_week - (self.hours_per_workday * 0.8)))
def test_partial_holiday_mid_week_prev_year(self): holidays = { 2014: [{ 'date': datetime.date(2014, 12, 31), 'percent_used': 0.8 }] } start_date = datetime.datetime(2014, 12, 29) end_date = datetime.datetime(2015, 1, 4) workday = WorkDay(holidays, self.workdays, datetime.datetime(2015, 1, 5)) hours_needed = workday.calculate_total_work_hours( self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, (self.hours_per_week - (self.hours_per_workday * 0.8)))
def test_full_duplicate_holiday_weekend(self): last_saturday = get_day_previous_week(5) holidays = { 2014: [{ 'date': last_saturday.date() }, { 'date': last_saturday.date() }] } start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours( self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, self.hours_per_week)
def test_partial_holiday_weekend(self): last_saturday = get_day_previous_week(5) holidays = { 2014: [ { 'date': last_saturday.date(), 'percent_used': 0.8 } ] } start_date = get_day_previous_week() end_date = get_day_previous_week(6) workday = WorkDay(holidays, self.workdays, self.datetime_now) hours_needed = workday.calculate_total_work_hours(self.hours_per_workday, start_date, end_date) self.assertEqual(hours_needed, self.hours_per_week)
logging.debug(last_monday) logging.debug(last_sunday) start_date = last_monday.strftime('%Y-%m-%d') end_date = last_sunday.strftime('%Y-%m-%d') logging.debug(start_date) logging.debug(end_date) # Minimum Hours Calculation holidays_yml_stream = WorkDay.get_holidays_stream() holidays = yaml.load(holidays_yml_stream) now = WorkDay.get_now() workDays = WorkDay(holidays, configs['work_days'], now) minimum_hours_for_week = workDays.calculate_total_work_hours(7.5, last_monday, last_sunday) users = user_list_response.json() users_to_contact = [] users_queried = [] print "\n\nTime Tracked for " + start_date + " until " + end_date print "Minimum Hours Required: " + str(minimum_hours_for_week) + "\n" users_to_contact = [] users_to_output = [] for user in users: time_tracked = api.get_user_hours_range( settings['user_agent'],
logging.debug(last_monday) logging.debug(last_sunday) start_date = last_monday.strftime('%Y-%m-%d') end_date = last_sunday.strftime('%Y-%m-%d') logging.debug(start_date) logging.debug(end_date) # Minimum Hours Calculation holidays_yml_stream = WorkDay.get_holidays_stream() holidays = yaml.load(holidays_yml_stream) now = WorkDay.get_now() workDays = WorkDay(holidays, configs['work_days'], now) minimum_hours_for_week = workDays.calculate_total_work_hours( 7.5, last_monday, last_sunday) users = user_list_response.json() users_to_contact = [] users_queried = [] print "\n\nTime Tracked for " + start_date + " until " + end_date print "Minimum Hours Required: " + str(minimum_hours_for_week) + "\n" users_to_contact = [] users_to_output = [] for user in users: time_tracked = api.get_user_hours_range(settings['user_agent'], settings['workspace_id'], user['uid'], start_date, end_date)