Exemple #1
0
 def test_no_admin_add_bonus(self):
     self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))
     self.client.post(reverse('create_remain_leave'), data={"year": self.year})
     self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user))
     response = self.client.post(reverse('add_bonus'),
                                 data={"profile_id": self.user_profile.id, "bonus": self.bonus})
     self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
Exemple #2
0
    def test_action_approved_request_with_one_line_manager(self):
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user4))

        data_request = {
            "reason": faker.word(),
            "type_id": self.type_off.id,
            "date": [{"date": "2026-08-30", "type": "All day", "lunch": "False"}]
        }

        response = self.client.post(self.url_request, data=data_request)
        response_data = json.loads(response.content)

        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user1))

        data = {
            'request_off_id': response_data['id'],
            'action': Workday.STATUS_APPROVED
        }

        response_action = self.client.post(self.url_action, data=data)
        response_action_data = json.loads(response_action.content)

        self.assertEqual(response_action_data['request_off']['status'], Workday.STATUS_APPROVED)
        self.assertEqual(response_action_data['status'], Workday.STATUS_APPROVED)
        self.assertEqual(response_action.status_code, status.HTTP_201_CREATED)
Exemple #3
0
    def test_get_retrieve_date_statistic(self):
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))
        self.client.post(reverse('create_remain_leave'), data={"year": self.year})

        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user))
        response = self.client.get(reverse('retrieve_date_statistic'))
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(json.loads(response.content)['profile']['id'], str(self.user_profile.id))
Exemple #4
0
    def setUp(self):
        self.uuid_cus = uuid.uuid1(random.randint(0, 2 ** 48 - 1))
        self.admin = UserFactory()
        self.profile = ProfileFactory(user=self.admin)

        self.user1 = UserFactory()
        self.user1_profile = ProfileFactory.create(user=self.user1)

        self.user2 = UserFactory()
        self.user2_profile = ProfileFactory.create(user=self.user2, line_manager=self.user1_profile)
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user2))

        self.company = CompanyFactory()

        self.request_off = RequestOffFactory(profile=self.profile)
        self.lenRequestOff = RequestOff.objects.count()

        self.type_off = TypeOffFactory()

        self.valid_data = {
            "reason": 'Hello',
            "type_id": self.type_off.id,
            "date": [{"date": "2026-09-30", "type": "All day", "lunch": "False"},
                     {"date": "2025-09-30", "type": "Morning", "lunch": "True"}]
        }

        self.url_request = '/api/v1/workday/request/create'
Exemple #5
0
    def setUp(self):
        self.user1 = UserFactory()
        self.user1_profile = ProfileFactory.create(user=self.user1)

        self.user2 = UserFactory(staff=False)
        self.user2_profile = ProfileFactory.create(user=self.user2, line_manager=self.user1_profile)

        self.user3 = UserFactory(staff=False)
        self.user3_profile = ProfileFactory.create(user=self.user3, line_manager=self.user2_profile)

        self.user4 = UserFactory(staff=False)
        self.user4_profile = ProfileFactory.create(user=self.user4, line_manager=self.user1_profile)

        self.company = CompanyFactory()

        self.type_off = TypeOffFactory()
        self.type_off_insurance = TypeOffFactory(type=1)
        self.request = Request.data(self.type_off.id)
        self.request_too_time = Request.data_too_time(self.type_off.id)
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user3))

        self.url_request = '/api/v1/workday/request/create'
        self.url_action = '/api/v1/workday/action'
        self.url_get_request = '/api/v1/workday/request/management'

        response_request = self.client.post(self.url_request, data=self.request)
        self.response_request_data = json.loads(response_request.content)

        response_request_too_time = self.client.post(self.url_request, self.request_too_time)
        self.data_request_too_time = json.loads(response_request_too_time.content)

        self.request_of_user_4 = RequestOffFactory(profile=self.user4_profile)
        self.request_detail = RequestDetailFactory(request_off=self.request_of_user_4, approve=self.user1_profile)
Exemple #6
0
    def test_first_user_action_rejected_request_with_two_line_manager(self):
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user2))
        response_action = self.client.post(self.url_action, data=ActionRequest.reject(self.response_request_data['id']))
        response_action_data = json.loads(response_action.content)
        self.assertEqual(response_action_data['request_off']['status'], Workday.STATUS_REJECTED)
        self.assertEqual(response_action_data['status'], Workday.STATUS_REJECTED)
        self.assertEqual(response_action.status_code, status.HTTP_201_CREATED)

        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user1))

        response_action = self.client.post(self.url_action, data=ActionRequest.reject(self.response_request_data['id']))
        self.assertEqual(response_action.status_code, status.HTTP_400_BAD_REQUEST)

        response_action = self.client.post(self.url_action,
                                           data=ActionRequest.approve(self.response_request_data['id']))
        self.assertEqual(response_action.status_code, status.HTTP_400_BAD_REQUEST)
Exemple #7
0
    def setUp(self):
        self.uuid_cus = uuid.uuid1(random.randint(0, 2**48 - 1))

        self.admin = UserFactory()
        self.profile = ProfileFactory(user=self.admin)
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))

        self.type_off = TypeOffFactory()
        self.lenTypeOff = TypeOff.objects.count()

        self.valid_data = {"title": faker.text(), "descriptions": faker.text()}
Exemple #8
0
    def test_add_bonus(self):
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))
        self.client.post(reverse('create_remain_leave'), data={"year": self.year})


        present_bonus = RemainLeave.objects.get(year=self.year, profile_id=self.user_profile.id).bonus
        response = self.client.post(reverse('add_bonus'),
                                    data={"user_id": self.user.id, "bonus": self.bonus})
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        self.assertEqual(json.loads(response.content)['profile']['id'], str(self.user_profile.id))
        self.assertEqual(json.loads(response.content)["bonus"], float(present_bonus) + self.bonus)
Exemple #9
0
    def test_action_request_with_user_no_line_manger(self):
        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user4))

        response_action = self.client.post(self.url_action,
                                           data=ActionRequest.approve(self.response_request_data['id']))
        self.assertEqual(response_action.status_code, status.HTTP_400_BAD_REQUEST)

        response_action = self.client.post(self.url_action, ActionRequest.reject(self.response_request_data['id']))
        self.assertEqual(response_action.status_code, status.HTTP_400_BAD_REQUEST)

        response_action = self.client.post(self.url_action, ActionRequest.cancel(self.response_request_data['id']))
        self.assertEqual(response_action.status_code, status.HTTP_400_BAD_REQUEST)
Exemple #10
0
    def setUp(self):
        self.admin = UserFactory()
        self.admin_profile = ProfileFactory.create(user=self.admin, join_date="2017-06-20")

        self.user = UserFactory(staff=False)
        self.user_profile = ProfileFactory.create(user=self.user, join_date="2015-02-15")

        self.user2 = UserFactory(staff=False)
        self.user_profile2 = ProfileFactory.create(user=self.user2, join_date="2020-05-10")

        self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))
        self.bonus = 1.0
        self.year = '2020'
        self.annual_leave_user1 = 17
        self.annual_leave_user2 = 8
Exemple #11
0
 def test_add_bonus_with_invalid_input(self):
     self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))
     self.client.post(reverse('create_remain_leave'), data={"year": self.year})
     response = self.client.post(reverse('add_bonus'),
                                 data={"profile_id": "profile_id", "bonus": "bonus"})
     self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST)
Exemple #12
0
 def test_non_auth_get_retrieve_date_statistic(self):
     self.client.credentials(HTTP_AUTHORIZATION=authentication(self.admin))
     self.client.post(reverse('create_remain_leave'), data={"year": self.year})
     self.client.credentials()
     response = self.client.get(reverse('retrieve_date_statistic'))
     self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
Exemple #13
0
 def test_non_admin_create_remain_leave(self):
     self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user))
     response = self.client.post(reverse('create_remain_leave'))
     self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
     self.assertEqual(len(RemainLeave.objects.filter(year=self.year)), 0)
Exemple #14
0
 def test_actions_cancel_request_too_time_with_admin(self):
     self.client.credentials(HTTP_AUTHORIZATION=authentication(self.user1))
     response_action = self.client.post(self.url_action, ActionRequest.cancel(self.data_request_too_time['id']))
     response_action_data = json.loads(response_action.content)
     self.assertEqual(response_action_data['status'], Workday.STATUS_CANCEL)
     self.assertEqual(response_action.status_code, status.HTTP_201_CREATED)