public async Task WhenCalledAsACreatorWithNoBlog_ItShouldReturnUserStateWithoutABlog() { this.requesterSecurity.SetupFor(Requester); this.requesterSecurity.Setup(v => v.IsInRoleAsync(Requester, FifthweekRole.Creator)).ReturnsAsync(true); var creatorStatus = new CreatorStatus(null, true); var accountSettings = new GetAccountSettingsResult(new Username("username"), new Email("*****@*****.**"), null, 10, PaymentStatus.Retry1, true, 1m, null, 1); this.getUserAccessSignatures.Setup(v => v.HandleAsync(new GetUserAccessSignaturesQuery(Requester, UserId, null, new List <ChannelId> { UserSubscriptions.Blogs[0].Channels[0].ChannelId, UserSubscriptions.Blogs[1].Channels[0].ChannelId }, UserSubscriptions.FreeAccessChannelIds))) .ReturnsAsync(UserAccessSignatures); this.getBlogSubscriptions.Setup(v => v.HandleAsync(new GetUserSubscriptionsQuery(Requester, UserId))) .ReturnsAsync(UserSubscriptions); this.getAccountSettings.Setup(v => v.HandleAsync(new GetAccountSettingsQuery(Requester, UserId, Now))) .ReturnsAsync(accountSettings); this.getBlogChannelsAndCollections.Setup(v => v.HandleAsync(new GetBlogChannelsAndQueuesQuery(UserId))) .ReturnsAsync(null); var result = await this.target.HandleAsync(new GetUserStateQuery(Requester, UserId, false, Now)); Assert.IsNotNull(result); Assert.AreEqual(UserAccessSignatures, result.AccessSignatures); Assert.AreEqual(UserSubscriptions, result.Subscriptions); Assert.AreEqual(accountSettings, result.AccountSettings); Assert.IsNull(result.Blog); }
public async Task WhenCalledAsACreator_ItShouldReturnUserStateWithCreatorState() { this.requesterSecurity.SetupFor(Requester); this.requesterSecurity.Setup(v => v.IsInRoleAsync(Requester, FifthweekRole.Creator)).ReturnsAsync(true); var creatorStatus = new CreatorStatus(new BlogId(Guid.NewGuid()), true); var accountSettings = new GetAccountSettingsResult(new Username("username"), new Email("*****@*****.**"), null, 10, PaymentStatus.Retry1, true, 1m, null, 1); var blogChannelsAndCollections = new GetBlogChannelsAndQueuesResult( new BlogWithFileInformation(new BlogId(Guid.NewGuid()), new BlogName("My Subscription"), new Introduction("Once upon a time there was an intro."), DateTime.UtcNow, null, null, null, new List <ChannelResult> { new ChannelResult(new ChannelId(Guid.NewGuid()), "name", 10, true) }, new List <QueueResult> { new QueueResult(new QueueId(Guid.NewGuid()), "name", new List <HourOfWeek>()) })); this.getUserAccessSignatures.Setup(v => v.HandleAsync(new GetUserAccessSignaturesQuery(Requester, UserId, new List <ChannelId> { blogChannelsAndCollections.Blog.Channels[0].ChannelId }, new List <ChannelId> { UserSubscriptions.Blogs[0].Channels[0].ChannelId, UserSubscriptions.Blogs[1].Channels[0].ChannelId }, UserSubscriptions.FreeAccessChannelIds))) .ReturnsAsync(UserAccessSignatures); this.getBlogSubscriptions.Setup(v => v.HandleAsync(new GetUserSubscriptionsQuery(Requester, UserId))) .ReturnsAsync(UserSubscriptions); this.getAccountSettings.Setup(v => v.HandleAsync(new GetAccountSettingsQuery(Requester, UserId, Now))) .ReturnsAsync(accountSettings); this.getBlogChannelsAndCollections.Setup(v => v.HandleAsync(new GetBlogChannelsAndQueuesQuery(UserId))) .ReturnsAsync(blogChannelsAndCollections); var result = await this.target.HandleAsync(new GetUserStateQuery(Requester, UserId, false, Now)); Assert.IsNotNull(result); Assert.AreEqual(UserAccessSignatures, result.AccessSignatures); Assert.AreEqual(UserSubscriptions, result.Subscriptions); Assert.AreEqual(accountSettings, result.AccountSettings); Assert.AreEqual(blogChannelsAndCollections.Blog, result.Blog); }