public async Task WhenPostingVacancyApprovedFromFirstReviewMessage_ThenItShouldPostAMessageWithTheNewIconAndSuitableMessage()
        {
            var vacancyReference = 1000000001;
            var vacancyReview    = new VacancyReview {
                VacancyReference = vacancyReference, SubmissionCount = 1, VacancySnapshot = new Vacancy {
                    OwnerType = OwnerType.Employer
                }
            };
            var mockSlackClient = new Mock <ISlackClient>();

            mockSlackClient
            .Setup(c => c.PostAsync(
                       It.Is <SlackMessage>(s =>
                                            s.Text.Contains("has been approved") &&
                                            !s.Text.Contains(" (1st review)") &&
                                            s.Text.Contains(" (Employer)") &&
                                            s.Text.Contains(vacancyReference.ToString())),
                       It.Is <SlackVacancyNotificationType>(e => e.Equals(SlackVacancyNotificationType.Approved))))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var client = new SlackNotifyVacancyReviewUpdates(mockSlackClient.Object, Options.Create(new SlackConfiguration()));

            await client.VacancyReviewApproved(vacancyReview);

            mockSlackClient.Verify();
        }
Exemplo n.º 2
0
        public async Task WhenPostingVacancyApprovedFromReReviewMessage_ThenItShouldPostAMessageWithTheNewIconAndSuitableMessage()
        {
            var vacancyReference = 1000000001;
            var vacancyReview    = new VacancyReview {
                VacancyReference = vacancyReference, SubmissionCount = 2
            };
            var mockSlackClient = new Mock <ISlackClient>();

            mockSlackClient
            .Setup(c => c.Post(
                       It.Is <SlackMessage>(s =>
                                            s.Text.Contains("has been approved") &&
                                            s.Text.Contains(" (2nd review)") &&
                                            s.Text.Contains(vacancyReference.ToString())),
                       It.Is <Emojis>(e => e.Equals(Emojis.Approved))))
            .Returns(Task.CompletedTask)
            .Verifiable();

            var client = new SlackNotifyVacancyReviewUpdates(mockSlackClient.Object);

            await client.VacancyReviewApproved(vacancyReview);

            mockSlackClient.Verify();
        }