Exemple #1
0
        public void TestCreateJob_ShouldCreateJobWithCorrectParameters()
        {
            var expectedJob = ReturnCreatedJobTestData();

            var postJobInputViewModel = new PostJobInputModel
            {
                Company     = "FB",
                Description = "AmazingJob",
                JobTitle    = "Developer",
                JobType     = JobType.FullTime,
                Location    = "Nyc"
            };

            var companyInputModel = new CompanyInputViewModel()
            {
                Name    = "FB",
                Address = "Nyc"
            };

            this._jobService.CreateJob(postJobInputViewModel, companyInputModel);
            this._context.SaveChanges();

            var actualJobTitle       = this._context.JobAdds.FirstOrDefault(x => x.JobTitle == "Developer").JobTitle;
            var actualJobDescription = this._context.JobAdds.FirstOrDefault(x => x.Description == "AmazingJob").Description;

            Assert.Equal(actualJobTitle, expectedJob.JobTitle);
            Assert.Equal(actualJobDescription, expectedJob.Description);
        }
Exemple #2
0
        public void CreateJob(PostJobInputModel model, CompanyInputViewModel companyModel)
        {
            Company company = null;

            company = this.context.Companies.FirstOrDefault(x => x.Name == model.Company);

            if (company == null)
            {
                this._companyService.CreateCompany(companyModel, model);
                company = this.context.Companies.FirstOrDefault(x => x.Name == model.Company);
            }

            var jobAdd = new JobAdd
            {
                JobTitle    = model.JobTitle,
                JobType     = model.JobType,
                Salary      = model.Salary,
                CompanyId   = company.Id,
                Company     = company,
                Description = model.Description,
                Location    = model.Location,
                CreatedOn   = DateTime.UtcNow,
            };

            var currentCompany = this.context.Companies.FirstOrDefault(x => x.Name == model.Company);

            this.context.JobAdds.Add(jobAdd);
            this.context.SaveChanges();
            if (currentCompany != null)
            {
                currentCompany.JobAdds.Add(jobAdd);
                this.context.SaveChanges();
            }
        }
Exemple #3
0
        public void TestCreateCompany_ShouldCreateCorrectCompany()
        {
            var companyModel = new CompanyInputViewModel()
            {
                Address = "NYC",
                Name    = "FB"
            };

            var jobModel = new PostJobInputModel()
            {
                Description = "job",
                Company     = "FB",
                Location    = "NYC",
                JobTitle    = "job",
                JobType     = JobType.FullTime
            };

            this._companyService.CreateCompany(companyModel, jobModel);
            this._context.SaveChanges();

            var expected = this._context.Companies.FirstOrDefault(x => x.Name == "FB");

            var actualMappedCompany = new Company()
            {
                Address = companyModel.Address,
                Name    = companyModel.Name
            };

            Assert.Equal(expected.Address, actualMappedCompany.Address);
            Assert.Equal(expected.Name, actualMappedCompany.Name);
        }
        public IActionResult PostJob(PostJobInputModel model, CompanyInputViewModel companyModel)
        {
            if (ModelState.IsValid)
            {
                this._jobService.CreateJob(model, companyModel);
                return(Redirect("/"));
            }

            return(this.View());
        }
Exemple #5
0
        public void CreateCompany(CompanyInputViewModel model, PostJobInputModel postJobModel)
        {
            var companyModel = new CompanyInputViewModel()
            {
                Address = postJobModel.Location,
                Name    = postJobModel.Company
            };

            var company = new Company
            {
                Address = companyModel.Address,
                Name    = companyModel.Name,
            };

            this._context.Companies.Add(company);
            this._context.SaveChanges();
        }