protected Give_only_other_users_have_subscriptions()
 {
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, OtherUser, "Bug");
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, OtherUser, "Wonder");
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, AnotherUser, "Bug");
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, AnotherUser, "Invalid");
 }
        public void add_null_label()
        {
            Func <Task> act = async() => await LabelSubscription.SetUserSubscription(RepoOwner, RepoName, UserId, null !);

            act.Should().Throw <ArgumentNullException>()
            .WithMessage("*label*");
        }
        public void anonymously_add_label()
        {
            Func <Task> act = async() => await LabelSubscription.SetUserSubscription(RepoOwner, RepoName, null !, "Bug");

            act.Should().Throw <ArgumentNullException>()
            .WithMessage("*userId*");
        }
        public async Task subscribe_already_subscribed_user()
        {
            await LabelSubscription.SetUserSubscription(RepositoryOwner, RepositoryName, "userX", Label);

            IssueSubscriber.ClearReceivedCalls();
            await IssueSubscription.TryAddLabel(Issue, Label, ToBeLabeledAt);

            //assert
            await IssueSubscriber.ReceivedWithAnyArgs().SubscribeToIssue(default !, default !);
        public async Task add_label_then_list_it()
        {
            // act
            await LabelSubscription.SetUserSubscription(RepoOwner, RepoName, UserId, "Bug");

            IEnumerable <LabelSubscriptionModel> list = await LabelSubscription.GetUserSubscriptions(RepoOwner, RepoName, UserId);

            list.Should().NotBeNull()
            .And.Contain(o => o.Label == "Bug" && o.UserId == UserId);
        }
        public async Task add_label()
        {
            LabelSubscriptionModel inserted = await LabelSubscription.SetUserSubscription(RepoOwner, RepoName, UserId, "Bug");

            inserted.Should().Match <LabelSubscriptionModel>(l => l.Label == "Bug" && l.UserId == UserId);
        }
 protected Given_user_have_subscriptions()
 {
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, UserId, "Bug");
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, UserId, "Wonder");
     LabelSubscription.SetUserSubscription(RepoOwner, RepoName, UserId, "Invalid");
 }