public async Task NoPreviousVersions() { var db = DbHelper.GetEmptyTestDB(); var user = await UserHelper.CreateInDbAsync(db); var request = new DeleteCardPreviousVersionsOfDeletedCards.Request(user, DateTime.MaxValue); using var dbContext = new MemCheckDbContext(db); await new DeleteCardPreviousVersionsOfDeletedCards(dbContext.AsCallContext(new TestRoleChecker(user))).RunAsync(request); }
public async Task FailIfUserDoesNotExist() { var db = DbHelper.GetEmptyTestDB(); var request = new DeleteCardPreviousVersionsOfDeletedCards.Request(Guid.NewGuid(), DateTime.MaxValue); using var dbContext = new MemCheckDbContext(db); var e = await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await new DeleteCardPreviousVersionsOfDeletedCards(dbContext.AsCallContext()).RunAsync(request)); Assert.AreEqual("User not found", e.Message); }
public async Task FailIfUserNotAdmin() { var db = DbHelper.GetEmptyTestDB(); var user = await UserHelper.CreateInDbAsync(db); var request = new DeleteCardPreviousVersionsOfDeletedCards.Request(user, DateTime.MaxValue); using var dbContext = new MemCheckDbContext(db); var e = await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await new DeleteCardPreviousVersionsOfDeletedCards(dbContext.AsCallContext()).RunAsync(request)); Assert.AreEqual("User not admin", e.Message); }
public async Task CascadeDeletionOfImageInCardPreviousVersion_ImageRemoved() { var db = DbHelper.GetEmptyTestDB(); var user = await UserHelper.CreateInDbAsync(db); var languageId = await CardLanguagHelper.CreateAsync(db); var image = await ImageHelper.CreateAsync(db, user); var card = await CardHelper.CreateAsync(db, user, language : languageId, frontSideImages : image.AsArray()); using (var dbContext = new MemCheckDbContext(db)) Assert.AreEqual(1, dbContext.ImagesInCards.Count()); await UpdateCardHelper.RunAsync(db, UpdateCardHelper.RequestForImageChange(card, Array.Empty <Guid>(), Array.Empty <Guid>(), Array.Empty <Guid>())); using (var dbContext = new MemCheckDbContext(db)) Assert.AreEqual(0, dbContext.ImagesInCards.Count()); var deletionDate = RandomHelper.Date(); using (var dbContext = new MemCheckDbContext(db)) { var deleter = new DeleteCards(dbContext.AsCallContext(), deletionDate); await deleter.RunAsync(new DeleteCards.Request(user, card.Id.AsArray())); } using (var dbContext = new MemCheckDbContext(db)) { Assert.AreEqual(3, dbContext.CardPreviousVersions.Count()); Assert.AreEqual(1, dbContext.ImagesInCardPreviousVersions.Count()); } using (var dbContext = new MemCheckDbContext(db)) { var request = new DeleteCardPreviousVersionsOfDeletedCards.Request(user, RandomHelper.Date(deletionDate)); await new DeleteCardPreviousVersionsOfDeletedCards(dbContext.AsCallContext(new TestRoleChecker(user))).RunAsync(request); } using (var dbContext = new MemCheckDbContext(db)) { Assert.AreEqual(0, dbContext.CardPreviousVersions.Count()); Assert.AreEqual(0, dbContext.ImagesInCardPreviousVersions.Count()); } }