private static CellarController InitializeController(FakePersistenceContext persistenceContext, int pageSize = 5) { persistenceContext.AddSet(TestData.Users); persistenceContext.AddSet(TestData.Beers); var sessionContext = new FakeSessionContext(TestData.Users.First()); CellarController controller = new CellarController(persistenceContext, sessionContext, pageSize); controller.ControllerContext = new FakeControllerContext(); return controller; }
public void POST_Edit_ShouldReturnNotFoundIfBeerDoesNotExists() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var model = new EditBeerViewModel(); // Act var result = controller.Edit(model); // Assert result.ShouldBeType<HttpNotFoundResult>(); persistenceContext.Saved.ShouldBeFalse(); }
public void POST_Edit_ShouldSaveBeerChanges() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var model = new EditBeerViewModel { ID = 1, Name = "beer 100", Quantity = 12 }; // Act var result = controller.Edit(model) as ViewResult; // Assert persistenceContext.Saved.ShouldBeTrue(); }
public void POST_Edit_ShouldNotSaveBeerChangesIfModelIsNotValid() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var model = new EditBeerViewModel(); controller.ModelState.AddModelError("", ""); // Act var result = controller.Edit(model) as ViewResult; // Assert result.ShouldNotBeNull(); persistenceContext.Saved.ShouldBeFalse(); }
public void POST_Drink_ShouldNotDecreaseQuantityIfStocksAreAlreadyEmpty() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var beer = TestData.Beers.First(); var model = new DrinkBeerViewModel { ID = beer.ID }; beer.Quantity = 0; // Act var result = controller.Drink(model) as ViewResult; // Assert persistenceContext.Saved.ShouldBeTrue(); beer.Quantity.ShouldEqual(0); }
public void POST_Drink_ShouldDecreaseQuantityByOneAndSaveChanges() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var beer = TestData.Beers.First(); var model = new DrinkBeerViewModel { ID = beer.ID }; var qtyBefore = beer.Quantity; // Act var result = controller.Drink(model) as ViewResult; // Assert persistenceContext.Saved.ShouldBeTrue(); beer.Quantity.ShouldEqual(qtyBefore - 1); }
public void Post_Delete_ShouldDeleteBeer() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var model = new DeleteBeerViewModel { ID = TestData.Beers.First().ID }; // Act var result = controller.Delete(model) as ViewResult; // Assert persistenceContext.Saved.ShouldBeTrue(); persistenceContext.Removed.Count.ShouldEqual(1); }
public void POST_Create_ShouldAddNewBeer() { // Arrange var persistenceContext = new FakePersistenceContext(); var controller = InitializeController(persistenceContext); var model = new CreateBeerViewModel(); // Act var result = controller.Create(model) as ViewResult; // Assert persistenceContext.Saved.ShouldBeTrue(); persistenceContext.Added.Count.ShouldEqual(1); }