public void TestEditPost_Given_EditViewModelWithChanges_Should_UpdateRelatedAlbum() { int albumId = 1; TestContext testContext = new TestContextBuilder().AddDefaultAlbum(albumId, 1, 5).Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); string newTitle = "NewTitle1", newDescription = "NewDescription1", newPlace = "NewPlace1", newCity = "NewCity1", newCountry = "newCountry1"; DateTime newFrom = new DateTime(2016, 1, 1), newTo = new DateTime(2016, 1, 2); var editAlbumViewModel = new EditAlbumViewModel { Id = 1, Title = newTitle, Description = newDescription, From = newFrom, To = newTo, Place = newPlace, City = newCity, Country = newCountry, }; var result = albumController.Edit(editAlbumViewModel) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.AreEqual(result.RouteValues["controller"], "Admin"); AlbumEntity album = testContext.Context.Albums.First(a => a.Id == albumId); Assert.AreEqual(album.Title, newTitle); Assert.AreEqual(album.Description, newDescription); Assert.AreEqual(album.Place.Name, newPlace); Assert.AreEqual(album.Place.City, newCity); Assert.AreEqual(album.Place.Country, newCountry); Assert.AreEqual(album.Period.From, newFrom); Assert.AreEqual(album.Period.To, newTo); }
public void TestBrowseGet_Given_AlbumWithPhotos_Should_CreateViewModelWithPhotos() { var testContext = new TestContextBuilder().AddDefaultAlbum(1, 1, 5).Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); var result = albumController.Browse(albumId: 1) as ViewResult; Assert.NotNull(result); Assert.IsEmpty(result.ViewName); var model = result.Model as AlbumWithPhotosViewModel; Assert.IsNotNull(model); Assert.IsTrue(model.Photos.Count() == 4); }
public void TestDeletePost_Given_AlbumWithPhotos_Should_DeleteAlbum() { var testContext = new TestContextBuilder().AddDefaultAlbum(1).AddDefaultAlbum(2).Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); var albumEditViewModel = new EditAlbumViewModel { Id = 1 }; var result = albumController.Delete(albumEditViewModel) as RedirectToRouteResult; Assert.IsNotNull(result); Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.AreEqual(result.RouteValues["controller"], "Admin"); Assert.IsTrue(testContext.Context.Albums.Count() == 1); }
public void TestDeleteGet_Should_CreateEditViewModel() { var testContext = new TestContextBuilder().AddDefaultAlbum(1).Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); var result = albumController.Delete(1) as ViewResult; Assert.IsNotNull(result); Assert.IsEmpty(result.ViewName); var model = result.Model as EditAlbumViewModel; Assert.IsNotNull(model); Assert.IsTrue(model.Id == 1); }
public void TestEditGet_Should_CreateEditViewModelWithValidPhotosCount() { TestContext testContext = new TestContextBuilder().AddDefaultAlbum(1, 1, 5).Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); var result = albumController.Edit(1) as ViewResult; Assert.IsNotNull(result); Assert.IsEmpty(result.ViewName); var model = result.Model as EditAlbumViewModel; Assert.IsNotNull(model); Assert.IsTrue(model.Id == 1); Assert.IsTrue(model.PhotosCount == 4); }
public void TestCreatePost_GivenFilledNewNiewModel_Should_CreateAndSaveNewAlbum() { TestContext testContext = new TestContextBuilder().Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); var newAlbumViewModel = new NewAlbumViewModel { Id = 1, Title = $"Title1", Description = "Description1", From = DateTime.Now, To = DateTime.Now, Place = "Place1", City = "City1", Country = "Country1", Photos = new HttpFile[0] }; var result = albumController.Create(newAlbumViewModel) as RedirectToRouteResult; Assert.NotNull(result); Assert.AreEqual(result.RouteValues["action"], "Index"); Assert.IsTrue(testContext.Context.Albums.Count() == 1); }
public void TestCreateGet_Should_ReturnNewViewModelWithDefaultPeriod() { var testContext = new TestContextBuilder().Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); DateTime beforeCreate = DateTime.Now; var result = albumController.Create() as ViewResult; DateTime afterCreate = DateTime.Now; Assert.NotNull(result); Assert.IsEmpty(result.ViewName); var model = result.Model as NewAlbumViewModel; Assert.NotNull(model); Assert.IsTrue(model.From.HasValue && model.To.HasValue && model.From.Value == model.To.Value && model.From.Value.IsBetween(beforeCreate, afterCreate) && model.To.Value.IsBetween(beforeCreate, afterCreate)); }
public void TestIndexGet_Given_ContextWithAlbums_Should_CreateThumbnails() { var testContext = new TestContextBuilder().AddDefaultAlbum(1, 1, 5) .AddDefaultAlbum(2, 5, 10) .Build(); var albumController = new AlbumController(testContext.AlbumRepository, testContext.PhotoRepository, null); var result = albumController.Index() as ViewResult; Assert.NotNull(result); Assert.IsEmpty(result.ViewName); var model = result.Model as IReadOnlyList <IAlbumThumbnail>; Assert.NotNull(model); Assert.IsTrue(model.Count == 2); Assert.IsTrue(model[0].CoverPhotoId < 5 && model[0].CoverPhotoId >= 1); Assert.IsTrue(model[1].CoverPhotoId < 10 && model[1].CoverPhotoId >= 5); }