public void RecieveApplicant_ThrowsInvalidOperationException_WhenApplicantAlreadyExists() { //Arrange var skill = new Skill() { Name = "C#", Id = Guid.NewGuid().ToString() }; var person = new Person() { FirstName = "Pepe", LastName = "Lopez", IdentityCard = "123" }; person.SetAbility(new Ability(skill, 5)); var jobOffer = new JobOffer(); jobOffer.AddSkillRequired(new SkillRequired(skill, 3, true)); jobOffer.AddJobApplicationRequested(person); //Act try { jobOffer.AddJobApplicationRequested(person); Assert.Fail("Job offer shoud throw exeption when a person tries to apply more than one time"); } catch (InvalidOperationException ex) { Assert.AreEqual(ex.Message, DomainErrorMessages.APPLICANT_ALREADY_REQUESTED_JOB_OFFER); } }
public void RecieveApplicant_CreatesJobApplication_WhenItIsTheFirstAttemptToApply() { //Arrange var skill = new Skill() { Name = "C#", Id = Guid.NewGuid().ToString() }; var person = new Person() { FirstName = "Pepe", LastName = "Lopez", IdentityCard = "123" }; person.SetAbility(new Ability(skill, 5)); var jobOffer = new JobOffer(); jobOffer.AddSkillRequired(new SkillRequired(skill, 3, true)); //Act jobOffer.AddJobApplicationRequested(person); var jobApplication = jobOffer.Applications.Where(a => a.ApplicantId == person.Id).SingleOrDefault(); //Assert Assert.IsNotNull(jobApplication); }