public async Task CorrectDeletion_OtherSubscriptionsExist() { var testDB = DbHelper.GetEmptyTestDB(); var userId = await UserHelper.CreateInDbAsync(testDB); await SearchSubscriptionHelper.CreateAsync(testDB, userId); var subscription = await SearchSubscriptionHelper.CreateAsync(testDB, userId); await SearchSubscriptionHelper.CreateAsync(testDB, userId); using (var dbContext = new MemCheckDbContext(testDB)) { var request = new DeleteSearchSubscription.Request(userId, subscription.Id); await new DeleteSearchSubscription(dbContext.AsCallContext()).RunAsync(request); } using (var dbContext = new MemCheckDbContext(testDB)) { var request = new GetSearchSubscriptions.Request(userId); var subscriptions = await new GetSearchSubscriptions(dbContext.AsCallContext()).RunAsync(request); Assert.AreEqual(2, subscriptions.Count()); Assert.IsFalse(subscriptions.Any(s => s.Id == subscription.Id)); } }
public async Task InvalidSubscriptionId() { var testDB = DbHelper.GetEmptyTestDB(); var userId = await UserHelper.CreateInDbAsync(testDB); using var dbContext = new MemCheckDbContext(testDB); var request = new DeleteSearchSubscription.Request(userId, Guid.Empty); await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await new DeleteSearchSubscription(dbContext.AsCallContext()).RunAsync(request)); }
public async Task <IActionResult> DeleteSearchSubscription(Guid id) { var userId = await UserServices.UserIdFromContextAsync(HttpContext, userManager); var appRequest = new DeleteSearchSubscription.Request(userId, id); await new DeleteSearchSubscription(callContext).RunAsync(appRequest); return(ControllerResultWithToast.Success(Get("Deleted"), this)); }
public async Task UserNotOwnerOfSubscription() { var testDB = DbHelper.GetEmptyTestDB(); var subscriptionOwnerId = await UserHelper.CreateInDbAsync(testDB); var subscription = await SearchSubscriptionHelper.CreateAsync(testDB, subscriptionOwnerId); var userId = await UserHelper.CreateInDbAsync(testDB); using var dbContext = new MemCheckDbContext(testDB); var request = new DeleteSearchSubscription.Request(userId, subscription.Id); await Assert.ThrowsExceptionAsync <RequestInputException>(async() => await new DeleteSearchSubscription(dbContext.AsCallContext()).RunAsync(request)); }