public async Task UpdateAsync_CartoonValidationFailed_ThrowsError() { // Arrange var fixture = new Fixture(); var cartoon = new CartoonUpdateModel(); var expected = fixture.Create <string>(); var genreGetService = new Mock <IGenreGetService>(); genreGetService .Setup(x => x.ValidateAsync(cartoon)) .Throws(new InvalidOperationException(expected)); var cartoonDataAccess = new Mock <ICartoonDataAccess>(); var cartoonGetService = new CartoonUpdateService(cartoonDataAccess.Object, genreGetService.Object); // Act var action = new Func <Task>(() => cartoonGetService.UpdateAsync(cartoon)); // Assert await action.Should().ThrowAsync <InvalidOperationException>().WithMessage(expected); cartoonDataAccess.Verify(x => x.UpdateAsync(cartoon), Times.Never); }
public async Task <Cartoon> InsertAsync(CartoonUpdateModel cartoonUpdateModel) { var result = await this.Context.AddAsync(this.Mapper.Map <DataAccess.Entities.Cartoon>(cartoonUpdateModel)); await this.Context.SaveChangesAsync(); return(this.Mapper.Map <Cartoon>(result.Entity)); }
public async Task <Cartoon> UpdateAsync(CartoonUpdateModel cartoonUpdateModel) { var existing = await this.Get(cartoonUpdateModel); var result = this.Mapper.Map(cartoonUpdateModel, existing); this.Context.Update(result); await this.Context.SaveChangesAsync(); return(this.Mapper.Map <Cartoon>(result)); }
public async Task UpdateAsync_CartoonValidationSucceed_CreatesScreening() { // Arrange var cartoon = new CartoonUpdateModel(); var expected = new Cartoon(); var genreGetService = new Mock <IGenreGetService>(); genreGetService.Setup(x => x.ValidateAsync(cartoon)); var cartoonDataAccess = new Mock <ICartoonDataAccess>(); cartoonDataAccess.Setup(x => x.UpdateAsync(cartoon)).ReturnsAsync(expected); var cartoonGetService = new CartoonUpdateService(cartoonDataAccess.Object, genreGetService.Object); // Act var result = await cartoonGetService.UpdateAsync(cartoon); // Assert result.Should().Be(expected); }
public async Task <Cartoon> UpdateAsync(CartoonUpdateModel cartoonUpdateModel) { await GenreGetService.ValidateAsync(cartoonUpdateModel); return(await CartoonDataAccess.UpdateAsync(cartoonUpdateModel)); }