public void GivenMultipleExpiringDraftsSpecialCharacters(int noOfDrafts)
        {
            var expiringDrafts = new ExpiringApprenticeshipApplicationDraftsBuilder().WithSpecialCharacterExpiringDrafts(noOfDrafts).Build();
            var smsRequest     = new DailyDigestSmsRequestBuilder().WithExpiringDrafts(expiringDrafts).Build();
            var formatter      = new SmsDailyDigestMessageFormatterBuilder().WithMessageTemplate(MessageTemplate).Build();

            var message = formatter.GetMessage(smsRequest.Tokens);

            int draftCount;
            int draftLineCount;
            var expectedMessage = GetExpectedMessage(expiringDrafts, out draftCount, out draftLineCount);

            message.Should().Be(expectedMessage);
            draftCount.Should().Be(noOfDrafts);
            draftLineCount.Should().BeLessOrEqualTo(MaxDraftCount);
        }
        public void GivenSingleExpiringDraft()
        {
            var expiringDrafts = new ExpiringApprenticeshipApplicationDraftsBuilder().WithExpiringDrafts(1).Build();
            var smsRequest     = new DailyDigestSmsRequestBuilder().WithExpiringDrafts(expiringDrafts).Build();
            var formatter      = new SmsDailyDigestMessageFormatterBuilder().WithMessageTemplate(MessageTemplate).Build();

            var message = formatter.GetMessage(smsRequest.Tokens);

            int draftCount;
            int draftLineCount;
            var expectedMessage = GetExpectedMessage(expiringDrafts, out draftCount, out draftLineCount);

            message.Should().Be(expectedMessage);
            draftCount.Should().Be(1);
            draftLineCount.Should().Be(1);
        }
        public void GivenMultipleExpiringDrafts_ThenOrderedByClosingDate()
        {
            var expiringDrafts = new ExpiringApprenticeshipApplicationDraftsBuilder().WithExpiringDrafts(3).Build();

            expiringDrafts[0].ClosingDate = new DateTime(2015, 02, 01);
            expiringDrafts[1].ClosingDate = new DateTime(2015, 01, 01);
            expiringDrafts[2].ClosingDate = new DateTime(2015, 04, 01);
            var smsRequest = new DailyDigestSmsRequestBuilder().WithExpiringDrafts(expiringDrafts).Build();

            //Assert the ascending ordering by ClosingDate of apprenticeships about to expire
            if (smsRequest.Tokens.Count() > 1)
            {
                var orderedList = ConvertToExpiringApprenticeshipApplicationDraftModel(smsRequest);

                Assert.That(orderedList, Is.Ordered.By("ClosingDate"));
            }
        }