public async Task TestRun_UserNotAllowedBecauseHasNoVisibility() { var testDB = DbHelper.GetEmptyTestDB(); var cardCreatorId = await UserHelper.CreateInDbAsync(testDB); var card = await CardHelper.CreateAsync(testDB, cardCreatorId, userWithViewIds : new Guid[] { cardCreatorId }); using var dbContext = new MemCheckDbContext(testDB); var request = new AddCardSubscriptions.Request(await UserHelper.CreateInDbAsync(testDB), new Guid[] { card.Id }); await Assert.ThrowsExceptionAsync <InvalidOperationException>(async() => await new AddCardSubscriptions(dbContext.AsCallContext()).RunAsync(request)); }
public async Task TestRun() { var testDB = DbHelper.GetEmptyTestDB(); var card = await CardHelper.CreateAsync(testDB, await UserHelper.CreateInDbAsync(testDB)); var otherUserId = await UserHelper.CreateInDbAsync(testDB); using (var dbContext = new MemCheckDbContext(testDB)) { var request = new AddCardSubscriptions.Request(otherUserId, new Guid[] { card.Id }); await new AddCardSubscriptions(dbContext.AsCallContext()).RunAsync(request); } using (var dbContext = new MemCheckDbContext(testDB)) { var subscription = await dbContext.CardNotifications.SingleAsync(notif => notif.UserId == otherUserId && notif.CardId == card.Id); Assert.AreEqual(CardNotificationSubscription.CardNotificationRegistrationMethod_ExplicitByUser, subscription.RegistrationMethod); } }