public void Create_GivenInvalidOffer_DoesntAddItToDB() { //Arrange var context = GetContextWithData(); var controller = new JobOfferController(context); int jobOffersAtStart = context.JobOffers.Count(); List <Company> companies = context.Companies.ToList(); //SaralyFrom > SalaryTo CreateViewModel cvm1 = new CreateViewModel { Companies = companies, Id = 5, SalaryFrom = 3000, SalaryTo = 100, JobTitle = "ExampleJobTitle", CompanyId = 1, Created = DateTime.Now, Description = "blahblah", Location = "London", ValidUntil = new DateTime(2020, 3, 12, 0, 0, 0) }; //MissingValues CreateViewModel cvm2 = new CreateViewModel { Companies = companies, Id = 6, SalaryTo = 100, JobTitle = "ExampleJobTitle", Created = DateTime.Now, Description = "blahblah", Location = "London", ValidUntil = new DateTime(2020, 3, 12, 0, 0, 0) }; //ValidUntil is past CreateViewModel cvm3 = new CreateViewModel { Companies = companies, Id = 7, ValidUntil = new DateTime(1999, 3, 12, 0, 0, 0), SalaryFrom = 3000, SalaryTo = 100, JobTitle = "ExampleJobTitle,", CompanyId = 1, Created = DateTime.Now, Description = "blahblah", Location = "London" }; //Act _ = controller.Create(cvm1); _ = controller.Create(cvm2); _ = controller.Create(cvm3); int jobOffersAfter = context.JobOffers.Count(); //Assert Assert.AreEqual(jobOffersAtStart, jobOffersAfter); }
public async System.Threading.Tasks.Task IndexWithoutUserShouldRaiseNullReferenceException() { DataContext context = GetContext(); JobOfferController controller = new JobOfferController(context, null, null, null); JobOffer jobOffer = new JobOffer(); await Assert.ThrowsAsync <NullReferenceException>(() => controller.Edit(jobOffer)); }
public void Details_WhenThereIsJobOfferWithGivenId_ReturnsViewWithJobOffer() { // Arrange var options = new DbContextOptionsBuilder <DataContext>() .UseInMemoryDatabase(databaseName: "Details_HasJobOfferDetails_WhenThereIsJobOfferWithGivenId_ReturnsViewWithJobOffer") .Options; using (var context = new DataContext(options)) { context.JobOfers.Add(new JobOffer() { ID = 1, CompanyId = 1 }); context.Companies.Add(new Company() { ID = 1 }); context.SaveChanges(); var controller = new JobOfferController(context); // Act var result = controller.Details(1) as ViewResult; //Assert Assert.IsInstanceOf <ViewResult>(result); Assert.IsNotNull(result.Model); Assert.IsInstanceOf <JobOffer>(result.Model); } }
public void Apply_ToNonExistingOffer_ReturnsBadRequest() { //Arrange var context = GetContextWithData(); var controller = new JobOfferController(context); //Act var result = controller.Apply(-1); //Assert Assert.IsInstanceOfType(result.Result, typeof(BadRequestObjectResult)); }
public void Create_WhenModelIsNull_ThrowNullReferenceException() { // Arrange var options = new DbContextOptionsBuilder <DataContext>() .UseInMemoryDatabase(databaseName: "Create_WhenModelIsNull_ThrowNullReferenceException") .Options; using (var context = new DataContext(options)) { var controller = new JobOfferController(context); //Act and Assert Assert.ThrowsAsync <NullReferenceException> (() => controller.Create(null)); } }
public async Task Index_GivenSearchString_ReturnsCorrectViewModel() { //Arrange var context = GetContextWithData(); var controller = new JobOfferController(context); //Act var result = await controller.Index("Develo") as ViewResult; var model = result.Model as IndexViewModel; //Assert Assert.IsNotNull(model); Assert.IsNotNull(model.JobOffers[0].JobApplications); Assert.AreEqual(2, model.Companies.Count); Assert.AreEqual(2, model.JobOffers.Count); }
public void Details_WhenThereIsNoJobOfferWithGivenId_ReturnNotFoundStatus() { // Arrange var options = new DbContextOptionsBuilder <DataContext>() .UseInMemoryDatabase(databaseName: "Details_WhenThereIsNoJobOfferWithGivenId_ReturnNotFoundStatus") .Options; using (var context = new DataContext(options)) { var controller = new JobOfferController(context); // Act var result = controller.Details(1); //Assert Assert.IsInstanceOf <NotFoundResult>(result); } }