예제 #1
0
 def create(self, validated_data):
     """
     Create and return complete instance of team Entity based on validated data
     :param validated_data:
     :return:
     """
     return request_data_models.CreateTeamLeaderOrEmployeeRequestData(
         **validated_data)
예제 #2
0
 def test_remove_team_employee(self):
     # first add employee to another team ( Employee must be in at least one team.)
     request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
         team_id=2, employee_id=1)
     new_team_employee = self.use_case.add_team_employee(request_data)
     deleted_team_employee = self.use_case.remove_team_employee(1)
     self.assertEqual(deleted_team_employee.id, 1)
     with self.assertRaises(domain_exceptions.ObjectEntityDoesNotExist):
         self.use_case.remove_team_employee(1)
예제 #3
0
    def test_assign_team_leader_employee(self):
        """test adding team leader to a team without a team leader"""

        request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
            team_id=2, employee_id=2)

        new_team_leader = self.use_case.assign_team_leader(request_data)
        self.assertEqual(len(self.use_case.retrieve_all_teams_leaders()), 2)
        self.assertIsInstance(new_team_leader, TeamLeaderEntity)
        self.assertEqual(new_team_leader.team.name, "Greys")
        self.assertEqual(new_team_leader.leader.id, 2)
        self.assertEqual(new_team_leader.leader.name, "Scox")
예제 #4
0
    def test_assign_team_leader_invalid_requests(self):
        # assign team leader with employee that doesnt exist
        with self.assertRaises(domain_exceptions.EmployeeDoesNotExist):
            request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
                team_id=2,
                employee_id=3,
            )
            self.use_case.assign_team_leader(request_data)

        # assign team leader with  team that doesn't exist
        with self.assertRaises(domain_exceptions.TeamDoesNotExist):
            request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
                team_id=3,
                employee_id=3,
            )
            self.use_case.assign_team_leader(request_data)

        # assign team leader to a team that already have a leader
        with self.assertRaises(domain_exceptions.TeamHasALeader):
            request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
                team_id=1,
                employee_id=2,
            )
            self.use_case.assign_team_leader(request_data)
예제 #5
0
    def test_add_team_employee_invalid_requests(self):
        # add team employee with employee that doesnt exist
        with self.assertRaises(domain_exceptions.EmployeeDoesNotExist):
            request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
                team_id=2,
                employee_id=3,
            )
            self.use_case.add_team_employee(request_data)

        # add team employee with  team that doesn't exist
        with self.assertRaises(domain_exceptions.TeamDoesNotExist):
            request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
                team_id=3,
                employee_id=3,
            )
            self.use_case.add_team_employee(request_data)

        # add team employee to a team that already have a member of the team
        with self.assertRaises(domain_exceptions.EmployeeIsATeamMember):
            request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
                team_id=1,
                employee_id=1,
            )
            self.use_case.add_team_employee(request_data)
 def setUp(self):
     self.request_data = request_data_models.CreateTeamLeaderOrEmployeeRequestData(
         team_id=1, employee_id=2)