public async Task ThenDontCreateNewSurveyCode(DateTime?inviteSentDate)
        {
            // Arrange
            var feedbackInvite = new FeedbackInvite
            {
                FeedbackId       = FeedBackId,
                UniqueSurveyCode = Guid.NewGuid(),
                InviteSentDate   = DateTime.UtcNow.AddDays(InviteCycleDays - 1)
            };

            _emailDetailsRepoMock
            .Setup(m => m.GetLatestFeedbackInviteSentDateAsync(FeedBackId))
            .ReturnsAsync(feedbackInvite);

            // Act
            await _sut.GenerateSurveyInvites(_message);

            // Assert
            _emailDetailsRepoMock.Verify(mock => mock.InsertNewSurveyForFeedback(It.IsAny <long>()), Times.Never);
        }
        public async Task ThenCreateNewSurveyCode(Guid?uniqueSurveyCode, DateTime?inviteSentDate)
        {
            // Arrange
            var feedbackInvite = new FeedbackInvite
            {
                FeedbackId       = FeedBackId,
                UniqueSurveyCode = uniqueSurveyCode,
                InviteSentDate   = inviteSentDate
            };

            _emailDetailsRepoMock
            .Setup(m => m.GetLatestFeedbackInviteSentDateAsync(FeedBackId))
            .ReturnsAsync(feedbackInvite);

            // Act
            await _sut.GenerateSurveyInvites(_message);

            // Assert
            _emailDetailsRepoMock.Verify(mock => mock.InsertNewSurveyForFeedback(FeedBackId), Times.Once);
        }