public async Task UpdateCustomCakeImg_WithValidData_ShouldSaveUpdatedEntry() { //Arrange var db = this.SetDb(); await this.SeedCustomCakeImg(db); var repo = new Repository <CustomCakeImg>(db); var mock = new Mock <ILogger <CustomCakeService> >(); ILogger <CustomCakeService> logger = mock.Object; var service = new CustomCakeService(null, repo, this.Mapper, logger); var customCakeImg = await repo.GetByIdAsync(2); db.Entry(customCakeImg).State = EntityState.Detached; var model = this.Mapper.Map <CustomCakeImg, CustomCakeImgViewModel>(customCakeImg); model.Name = "Golden leaf"; //Act await service.UpdateCustomCakeImg(model); var expectedTitle = "Golden leaf"; var actualTitle = repo.All().SingleOrDefault(t => t.Id == 2).Name; //Assert Assert.Equal(expectedTitle, actualTitle); }
public async Task UpdateCustomCakeImg_WithDuplicateImgUrl_ShouldSaveUpdatedTurorialThrow() { //Arrange var db = this.SetDb(); await this.SeedCustomCakeImg(db); var repo = new Repository <CustomCakeImg>(db); var mock = new Mock <ILogger <CustomCakeService> >(); ILogger <CustomCakeService> logger = mock.Object; var service = new CustomCakeService(null, repo, this.Mapper, logger); var customCakeImg = await repo.GetByIdAsync(2); db.Entry(customCakeImg).State = Microsoft.EntityFrameworkCore.EntityState.Detached; var model = this.Mapper.Map <CustomCakeImg, CustomCakeImgViewModel>(customCakeImg); model.Img = "https://someurl.bg"; //Act //Assert await Assert.ThrowsAsync <InvalidOperationException>(async() => await service.UpdateCustomCakeImg(model)); }