Exemplo n.º 1
0
        public virtual async Task CreateRecruiterAsync(Recruiter recruiter)
        {
            recruiter.Validate();

            var person = recruiter.GetPerson();

            using (var session = _personRepository.GetTransactionalSession())
            {
                try
                {
                    session.StartTransaction();
                    await _personRepository.UpsertAsync(person);

                    recruiter.Id = person.Id;

                    await _recruiterRepository.UpsertAsync(recruiter);

                    await session.CommitTransactionAsync();
                }
                catch (Exception ex)
                {
                    await session.AbortTransactionAsync();
                }
            }
        }
        public async Task CreateJobOffer_SaveSuccessfully_WhenJobOfferDataIsCorrect()
        {
            //Arrange
            var recruiter = new Recruiter()
            {
                FirstName = "Maidana", LastName = "Patricia", IdentityCard = "28123456"
            };

            await _recruiterRepository.UpsertAsync(recruiter);

            var company = new Company("Acme", "Software");

            recruiter.AddClientCompany(company);

            var skill1 = new Skill()
            {
                Name = "C#"
            };
            var skill2 = new Skill()
            {
                Name = "Javascript"
            };
            var skill3 = new Skill()
            {
                Name = "React"
            };

            await _skillRepository.UpsertAsync(skill1);

            await _skillRepository.UpsertAsync(skill2);

            await _skillRepository.UpsertAsync(skill3);

            var jobOffer = new JobOffer()
            {
                Title       = "Analista Funcional",
                Description = "Se necesita analista funcional con bla bla bla",
                Owner       = recruiter,
                Date        = DateTime.Now.Date
            };

            jobOffer.AddSkillRequired(new SkillRequired(skill1, 5, true));
            jobOffer.AddSkillRequired(new SkillRequired(skill2, 4, false));
            jobOffer.AddSkillRequired(new SkillRequired(skill3, 2, false));


            //Act
            await _service.CreateJobOffer(jobOffer, recruiter);

            var jobOfferCreated = await _jobOfferRepository.GetByIdAsync(jobOffer.Id);


            //Assert
            Assert.AreEqual(jobOffer, jobOfferCreated, "Job offer was not saved");
        }
        public virtual async Task CreateRecruiterAsync(Recruiter recruiter)
        {
            recruiter.Validate();

            await _recruiterRepository.UpsertAsync(recruiter);
        }