public async Task WhenSendToIsChanged_ThenAddressDetailsAreReset(string createdBy, CertificateSendTo currentSendTo, CertificateSendTo updatedSendTo,
                                                                         bool addressDetailsCleared, bool fullNameTransferred)
        {
            // Arrange
            var fixture = new TheFixture()
                          .WithCertificate(CertificateId, CertificateReference, CertificateStatus.Draft, createdBy, currentSendTo);

            // Act
            await fixture.Handle(CertificateStatus.Draft, updatedSendTo);

            // Assert
            fixture.VerifyAddressDetailsReset(addressDetailsCleared, fullNameTransferred);
        }
        public async Task WhenOverallGradeAndAchievementDateChanges_ThenEpaDetailsAreUpdated(
            DateTime?updatedAchievementDate, string updatedOverallGrade, string updatedCertificateStatus,
            DateTime?currentLatestEpaDate, string currentLatestEpaOutcome,
            DateTime?expectedLatestEpaDate, string expectedLatestEpaOutcome, int expectedEpasCount)
        {
            // Arrange
            var fixture = new TheFixture()
                          .WithCertificate(CertificateId, CertificateReference, CertificateStatus.Draft, currentLatestEpaOutcome, currentLatestEpaDate);

            // Act
            await fixture.Handle(updatedCertificateStatus, updatedOverallGrade, updatedAchievementDate);

            // Assert
            fixture.VerifyUpdatedAchievementDate(updatedAchievementDate);
            fixture.VerifyUpdatedOverallGrade(updatedOverallGrade);
            fixture.VerifyUpdatedEpaDetails(expectedLatestEpaOutcome, expectedLatestEpaDate, expectedEpasCount);
        }