public async Task GetLatestAgreementId_WithOneSignedAgreementsAndNewUnsignedAgreement_ItShouldReturn2()
        {
            var f      = new EmployerAgreementServiceTestsFixture().SetUpSignedAgreementWithVersion(1).SetUpUnsignedAgreementWithVersion(2);
            var result = await f.Sut.GetLatestAgreementId(f.AccountId, f.MaLegalEntityId);

            Assert.AreEqual(2, result);
        }
        public async Task GetLatestAgreementId_WithNoAgreements_ItShouldReturnNull()
        {
            var f      = new EmployerAgreementServiceTestsFixture();
            var result = await f.Sut.GetLatestAgreementId(f.AccountId, f.MaLegalEntityId);

            Assert.IsNull(result);
        }
        public async Task IsAgreementSigned_WithoutAnyAgreementFeaturesAndWithMultipleSignedAgreements_ItShouldReturnTrue()
        {
            var f      = new EmployerAgreementServiceTestsFixture().SetUpSignedAgreementWithVersion(1).SetUpSignedAgreementWithVersion(2);
            var result = await f.Sut.IsAgreementSigned(f.AccountId, f.MaLegalEntityId);

            Assert.IsTrue(result);
        }
        public async Task IsAgreementSigned_WithoutAnyAgreementFeatureAndWithOneSignedAgreementAtSpecifiedVersion_ItShouldReturnTrue(int version)
        {
            var f      = new EmployerAgreementServiceTestsFixture().SetUpSignedAgreementWithVersion(version);
            var result = await f.Sut.IsAgreementSigned(f.AccountId, f.MaLegalEntityId);

            Assert.IsTrue(result);
        }
        public async Task IsAgreementSigned_WithTransferAgreementFeatureAndWithOneSignedAgreementAtSpecifiedVersion_ItShouldReturnExpectedValue(int version, bool expected)
        {
            var f      = new EmployerAgreementServiceTestsFixture().SetUpSignedAgreementWithVersion(version);
            var result = await f.Sut.IsAgreementSigned(f.AccountId, f.MaLegalEntityId, AgreementFeature.Transfers);

            Assert.AreEqual(expected, result);
            f.VerifyAccountApiClientReceivesCorrectValues();
        }