Exemplo n.º 1
0
        public void AddConsultant_LastMissionNeedToBeFalse()
        {
            // Arrange
            var context       = InitializeContext();
            var consultant    = fixture.Build <Consultant>().With(x => x.Id, 21).With(x => x.Experience, Experience.Medior).Create();
            var mission       = fixture.Build <Mission>().With(x => x.Id, 11).With(x => x.ExperienceRequired, Experience.Junior).With(x => x.MaximumRate, 1000).Create();
            var addConsultant = new AddConsultantRequest
            {
                ConsultantId = 21,
                MissionId    = 11,
                JobName      = "Java Dev",
                Rate         = 400.00
            };
            var consultantMissions = new List <ConsultantMission> {
                new ConsultantMission {
                    IsActive = true
                }, new ConsultantMission {
                    IsActive = false
                }
            };

            consultant.ConsultantMissions = consultantMissions;
            mission.ConsultantMissions    = consultantMissions;
            context.Consultants.Add(consultant);
            context.Missions.Add(mission);
            context.SaveChanges();
            InjectClassFor(context);

            // Act
            var result = ClassUnderTest.AddConsultant(addConsultant);

            // Assert
            result.Consultant.ConsultantMissions.Where(x => x.IsActive).Count().Should().Be(1);
        }
Exemplo n.º 2
0
        public void AddConsultant_ExperienceNotValidExcpetion()
        {
            // Arrange
            var context       = InitializeContext();
            var consultant    = fixture.Build <Consultant>().With(x => x.Id, 10).With(x => x.Experience, Experience.Medior).Create();
            var mission       = fixture.Build <Mission>().With(x => x.Id, 1).With(x => x.ExperienceRequired, Experience.Senior).With(x => x.MaximumRate, 1000).Create();
            var addConsultant = new AddConsultantRequest
            {
                ConsultantId = 10,
                MissionId    = 1,
                JobName      = "Java Dev",
                Rate         = 400.00
            };

            context.Consultants.Add(consultant);
            context.Missions.Add(mission);
            context.SaveChanges();
            InjectClassFor(context);

            // Act
            Action action = () => ClassUnderTest.AddConsultant(addConsultant);

            // Assert
            action.Should().ThrowExactly <NotValidException>().WithMessage(ErrorVariable.ExperienceMinimumRequired);
        }
Exemplo n.º 3
0
        public void AddConsultant_JobNameNotValidExcpetion()
        {
            // Arrange
            var addConsultant = new AddConsultantRequest();

            // Act
            Action action = () => ClassUnderTest.AddConsultant(addConsultant);

            // Assert
            action.Should().ThrowExactly <NotValidException>().WithMessage(ErrorVariable.JobnameNotExist);
        }
Exemplo n.º 4
0
        public void AddConsultant_RateNotValidExcpetion()
        {
            // Arrange
            var addConsultant = new AddConsultantRequest
            {
                ConsultantId = 1,
                MissionId    = 1,
                JobName      = "Dev Lead"
            };

            // Act
            Action action = () => ClassUnderTest.AddConsultant(addConsultant);

            // Assert
            action.Should().ThrowExactly <NotValidException>().WithMessage(ErrorVariable.RateIsNotCompleted);
        }
Exemplo n.º 5
0
        public void AddConsultant_MissionNotValidExcpetion()
        {
            // Arrange
            var context       = InitializeContext();
            var consultant    = fixture.Build <Consultant>().With(x => x.Id, 1).Create();
            var addConsultant = new AddConsultantRequest
            {
                ConsultantId = 1,
                MissionId    = 20,
                JobName      = "Java Dev",
                Rate         = 400.00
            };

            context.Consultants.Add(consultant);
            context.SaveChanges();
            InjectClassFor(context);

            // Act
            Action action = () => ClassUnderTest.AddConsultant(addConsultant);

            // Assert
            action.Should().ThrowExactly <NotValidException>().WithMessage(ErrorVariable.MissioNotExist);
        }
Exemplo n.º 6
0
        public void AddConsultant_IsValid()
        {
            // Arrange
            var context            = InitializeContext();
            var consultant         = fixture.Build <Consultant>().With(x => x.Id, 40).With(x => x.Experience, Experience.Medior).Create();
            var mission            = fixture.Build <Mission>().With(x => x.Id, 40).With(x => x.ExperienceRequired, Experience.Junior).With(x => x.MaximumRate, 1000).Create();
            var consultantMissions = new List <ConsultantMission> {
                new ConsultantMission {
                    IsActive = true
                }, new ConsultantMission {
                    IsActive = false
                }
            };
            var addConsultant = new AddConsultantRequest
            {
                ConsultantId = 40,
                MissionId    = 40,
                JobName      = "Dev Lead",
                Rate         = 400.00
            };

            consultant.ConsultantMissions = consultantMissions;
            mission.ConsultantMissions    = consultantMissions;
            context.Consultants.Add(consultant);
            context.Missions.Add(mission);
            context.SaveChanges();
            InjectClassFor(context);

            // Act
            var result = ClassUnderTest.AddConsultant(addConsultant);

            // Assert
            result.ConsultantId.Should().Be(40);
            result.MissionId.Should().Be(40);
            result.IsActive.Should().Be(true);
            result.Rate.Should().Be(400.00);
        }