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); }
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(); } }
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()); }
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(); }