public void DeleteCategoryShouldDeleteCategoryCorrect() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Delete_Category_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext); var categorySeed = new ArtisticWorkCategory() { Name = "Test Category Name", }; dbContext.ArtisticWorkCategories.Add(categorySeed); dbContext.SaveChanges(); var categoryId = dbContext.ArtisticWorkCategories.LastOrDefault().Id; // Act service.DeleteCategory(categoryId); // Assert Assert.False(dbContext .ArtisticWorkCategories .Any(cat => cat.Id == categoryId)); }
public void DeleteArtWorkShouldDeleteArtworkCorrect() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Delete_ArtWork_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext); var artisticWork = new ArtisticWork(); dbContext.ArtisticWorks.Add(artisticWork); dbContext.SaveChanges(); var artWorkId = dbContext.ArtisticWorks.LastOrDefault().Id; // Act service.DeleteArtWork(artWorkId); //Assert Assert.True(dbContext .ArtisticWorks .Any(artwork => artwork.Id == artWorkId) == false); }
public void GetArtisticWorkCategoriesShouldReturnsCategories() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Get_ArtWork_Category_Db") .Options; var dbContext = new WAGDbContext(options); var categoriesCount = 3; for (int i = 0; i < categoriesCount; i++) { dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory()); } dbContext.SaveChanges(); var service = new ArtisticWorkService(dbContext); // Act var artWorkCategories = service.GetArtisticWorkCategories(); // Assert Assert.Equal(categoriesCount, artWorkCategories.Count()); }
public void DeleteCategoryShouldDeleteCategoryCorrect() { var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Delete_Category_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext, null); var categoryName = "Test Category Name"; var categoryToEdit = new ArtisticWorkCategory() { Name = "Test Category Name", }; dbContext.ArtisticWorkCategories.Add(categoryToEdit); dbContext.SaveChanges(); var categoryId = dbContext.ArtisticWorkCategories.LastOrDefault().Id; var storedCategory = dbContext .ArtisticWorkCategories .FirstOrDefault(category => category.Id == categoryId); Assert.Equal(categoryName, storedCategory.Name); service.DeleteCategory(categoryId); Assert.False(dbContext .ArtisticWorkCategories .Any(cat => cat.Id == categoryId)); }
public void AddArtWorkShouldAddsArtworkCorrect() { var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Add_ArtWork_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext, null); var addArtWorkViewModel = new AddArtWorkViewModel() { Year = 2015, Height = 120.5, Width = 80.2, Price = 350.99m, Availability = true, HasFrame = true, Technique = "Test Technique", }; service.AddArtWork(addArtWorkViewModel); var artWork = dbContext.ArtisticWorks.FirstOrDefault(); Assert.NotNull(artWork); Assert.Equal(addArtWorkViewModel.Year, artWork.Year); Assert.Equal(addArtWorkViewModel.Height, artWork.Height); Assert.Equal(addArtWorkViewModel.Width, artWork.Width); Assert.Equal(addArtWorkViewModel.Price, artWork.Price); Assert.Equal(addArtWorkViewModel.Availability, artWork.Availability); Assert.Equal(addArtWorkViewModel.HasFrame, artWork.HasFrame); Assert.Equal(addArtWorkViewModel.Technique, artWork.Technique); }
public void EditArtWorkShouldEditsArtworkCorrect() { var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Edit_ArtWork_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext, null); var artisticWork = new ArtisticWork() { Year = 2015, Height = 120.5, Width = 80.2, Price = 350.99m, Availability = true, HasFrame = true, Technique = "Test Technique", }; dbContext.ArtisticWorks.Add(artisticWork); dbContext.SaveChanges(); var editArtWorkViewModel = new EditArtWorkViewModel() { Year = 2016, Height = 130.6, Width = 70.3, Price = 420.50m, Availability = false, HasFrame = false, Technique = "Test Technique - Edited", }; var id = dbContext.ArtisticWorks.LastOrDefault().Id; service.EditArtWork(id, editArtWorkViewModel); var artWork = dbContext .ArtisticWorks .FirstOrDefault(artwork => artwork.Id == id); Assert.Equal(editArtWorkViewModel.Year, artWork.Year); Assert.Equal(editArtWorkViewModel.Height, artWork.Height); Assert.Equal(editArtWorkViewModel.Width, artWork.Width); Assert.Equal(editArtWorkViewModel.Price, artWork.Price); Assert.Equal(editArtWorkViewModel.Availability, artWork.Availability); Assert.Equal(editArtWorkViewModel.HasFrame, artWork.HasFrame); Assert.Equal(editArtWorkViewModel.Technique, artWork.Technique); }
public void GetCategoryByIdShouldReturnsCategory() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Get_Artwork_Category_By_Id_Db") .Options; var dbContext = new WAGDbContext(options); //seed some random Categories for (int i = 0; i < 3; i++) { dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory()); } //seed special Category with unique name and save its id var categoryName = "Mock Category Name"; dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory() { Name = categoryName }); dbContext.SaveChanges(); var categoryId = dbContext.ArtisticWorkCategories.LastOrDefault().Id; //seed some random categories again for (int i = 0; i < 3; i++) { dbContext.ArtisticWorkCategories.Add(new ArtisticWorkCategory()); } var service = new ArtisticWorkService(dbContext); // Act var category = service.GetCategoryById(categoryId); // Assert Assert.Equal(categoryId, category.Id); Assert.Equal(categoryName, category.Name); }
public void GetArtisticWorkByIdShouldReturnsArtWork() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Get_ArtWork_By_Id_Db") .Options; var dbContext = new WAGDbContext(options); //seed some random artworks for (int i = 0; i < 3; i++) { dbContext.ArtisticWorks.Add(new ArtisticWork()); } //seed special artwork with unique year and save it's id var artworkYear = 2010; dbContext.ArtisticWorks.Add(new ArtisticWork() { Year = artworkYear }); dbContext.SaveChanges(); var artWorkId = dbContext.ArtisticWorks.LastOrDefault().Id; //seed some random artworks again for (int i = 0; i < 3; i++) { dbContext.ArtisticWorks.Add(new ArtisticWork()); } var service = new ArtisticWorkService(dbContext); // Act var artWork = service.GetArtisticWorkById(artWorkId); // Assert Assert.Equal(artWorkId, artWork.Id); Assert.Equal(artworkYear, artWork.Year); }
public void AddArtWorkShouldAddsArtworkCorrect() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Add_ArtWork_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext); var ArtWorkToAdd = new ArtisticWork() { Year = 2015, Height = 120.5, Width = 80.2, Price = 350.99m, Availability = true, HasFrame = true, Technique = "Test Technique", ArtisticWorkCategoryId = 5, PictureFileName = "Test_Guid.23AnMd9*!sdpfok" }; // Act service.AddArtWork(ArtWorkToAdd); var artWork = dbContext.ArtisticWorks.FirstOrDefault(); // Assert Assert.NotNull(artWork); Assert.Equal(ArtWorkToAdd.Year, artWork.Year); Assert.Equal(ArtWorkToAdd.Height, artWork.Height); Assert.Equal(ArtWorkToAdd.Width, artWork.Width); Assert.Equal(ArtWorkToAdd.Price, artWork.Price); Assert.Equal(ArtWorkToAdd.Availability, artWork.Availability); Assert.Equal(ArtWorkToAdd.HasFrame, artWork.HasFrame); Assert.Equal(ArtWorkToAdd.Technique, artWork.Technique); Assert.Equal(ArtWorkToAdd.ArtisticWorkCategoryId, artWork.ArtisticWorkCategoryId); Assert.Equal(ArtWorkToAdd.PictureFileName, artWork.PictureFileName); Assert.True(artWork.CreatedOn > DateTime.MinValue); }
public void GetArtWorksByCategoryIdShouldReturnsArtWorks() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Get_ArtWork_By_CategoryId_Db") .Options; var dbContext = new WAGDbContext(options); // Seed a few artworks with same category var sameCategoryArtworksCount = 2; var FirstMockCategoryId = 1; for (int i = 0; i < sameCategoryArtworksCount; i++) { dbContext.ArtisticWorks .Add(new ArtisticWork() { ArtisticWorkCategoryId = FirstMockCategoryId, }); } // Seed artwork with different category var SecondMockCategoryId = 5; dbContext.ArtisticWorks .Add(new ArtisticWork() { ArtisticWorkCategoryId = SecondMockCategoryId, }); dbContext.SaveChanges(); var service = new ArtisticWorkService(dbContext); // Act var artWorks = service.GetArtWorksByCategoryId(FirstMockCategoryId); // Assert Assert.Equal(sameCategoryArtworksCount, artWorks.Count()); }
public void AddCategoryShouldAddCategoryCorrect() { var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Add_Category_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext, null); var categoryName = "Add Category - test"; var addCategoryViewModel = new AddCategoryViewModel() { CategoryName = categoryName }; service.AddCategory(addCategoryViewModel); Assert.True(dbContext .ArtisticWorkCategories .Any(cat => cat.Name == categoryName)); }
public void AddCategoryShouldAddCategoryCorrect() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Add_Category_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext); var newCategory = new ArtisticWorkCategory() { Name = "Add Category - test" }; // Act service.AddCategory(newCategory); // Assert Assert.True(dbContext .ArtisticWorkCategories .Any(category => category.Name == newCategory.Name)); }
public void EditArtWorkShouldEditsArtworkCorrect() { // Arrange var options = new DbContextOptionsBuilder <WAGDbContext>() .UseInMemoryDatabase(databaseName: "Edit_ArtWork_Db") .Options; var dbContext = new WAGDbContext(options); var service = new ArtisticWorkService(dbContext); var artWorkSeed = new ArtisticWork() { Year = 2015, Height = 120.5, Width = 80.2, Price = 350.99m, Availability = true, HasFrame = true, Technique = "Test Technique", ArtisticWorkCategoryId = 5, PictureFileName = "test_GUID_abc123", CreatedOn = DateTime.UtcNow }; dbContext.ArtisticWorks.Add(artWorkSeed); dbContext.SaveChanges(); var artworkToUpdate = dbContext.ArtisticWorks.FirstOrDefault(); artworkToUpdate.Year = 2016; artworkToUpdate.Height = 130.6; artworkToUpdate.Width = 70.3; artworkToUpdate.Price = 420.50m; artworkToUpdate.Availability = false; artworkToUpdate.HasFrame = false; artworkToUpdate.Technique = "Test Technique - Edited"; artworkToUpdate.ArtisticWorkCategoryId = 4; artworkToUpdate.PictureFileName = "test_GUID_321cba"; // Act service.EditArtWork(artworkToUpdate); var updatedArtWork = dbContext .ArtisticWorks .FirstOrDefault(artwork => artwork.Id == artworkToUpdate.Id); // Assert Assert.Equal(artworkToUpdate.Year, updatedArtWork.Year); Assert.Equal(artworkToUpdate.Height, updatedArtWork.Height); Assert.Equal(artworkToUpdate.Width, updatedArtWork.Width); Assert.Equal(artworkToUpdate.Price, updatedArtWork.Price); Assert.Equal(artworkToUpdate.Availability, updatedArtWork.Availability); Assert.Equal(artworkToUpdate.HasFrame, updatedArtWork.HasFrame); Assert.Equal(artworkToUpdate.Technique, updatedArtWork.Technique); Assert.Equal(artworkToUpdate.ArtisticWorkCategoryId, updatedArtWork.ArtisticWorkCategoryId); Assert.Equal(artworkToUpdate.PictureFileName, updatedArtWork.PictureFileName); Assert.Equal(artWorkSeed.CreatedOn, updatedArtWork.CreatedOn); Assert.True(updatedArtWork.EditedOn > DateTime.MinValue); }