public async Task TestSoftDeleteServiceDddResetSoftDeleteOk() { //SETUP var options = SqliteInMemory.CreateOptions <SingleSoftDelDbContext>(); using (var context = new SingleSoftDelDbContext(options)) { context.Database.EnsureCreated(); context.Database.EnsureCreated(); var bookDdd = new BookDDD("Test"); context.Add(bookDdd); context.SaveChanges(); var config = new ConfigSoftDeleteDDD(context); var service = new SingleSoftDeleteServiceAsync <ISingleSoftDeletedDDD>(config); await service.SetSoftDeleteAsync(bookDdd); //ATTEMPT var status = await service.ResetSoftDeleteAsync(bookDdd); //VERIFY status.IsValid.ShouldBeTrue(status.GetAllErrors()); status.Result.ShouldEqual(1); context.ChangeTracker.Clear(); context.BookDdds.Count().ShouldEqual(1); context.BookDdds.IgnoreQueryFilters().Count().ShouldEqual(1); } }
public async Task TestSoftDeleteServiceResetSoftDeleteNoCallSaveChangesOk() { //SETUP var options = SqliteInMemory.CreateOptions <SingleSoftDelDbContext>(); using (var context = new SingleSoftDelDbContext(options)) { context.Database.EnsureCreated(); var book = context.AddBookWithReviewToDb(); var config = new ConfigSoftDeleteWithUserId(context); var service = new SingleSoftDeleteServiceAsync <ISingleSoftDelete>(config); await service.SetSoftDeleteAsync(book); //ATTEMPT var status = await service.ResetSoftDeleteAsync(book, false); context.Books.Count().ShouldEqual(0); context.SaveChanges(); context.Books.Count().ShouldEqual(1); //VERIFY status.IsValid.ShouldBeTrue(status.GetAllErrors()); status.Result.ShouldEqual(1); context.Books.IgnoreQueryFilters().Count().ShouldEqual(1); } }