public async Task Then_Gets_Entity_From_Repository(
            long accountLegalEntityId,
            [Frozen] Mock <IAccountLegalEntitiesRepository> mockRepository,
            AccountLegalEntitiesService service)
        {
            var accountLegalEntityEntity = BuildAccountLegalEntity(accountLegalEntityId);

            mockRepository
            .Setup(repository => repository.Get(accountLegalEntityId))
            .ReturnsAsync(accountLegalEntityEntity);

            await service.GetAccountLegalEntity(accountLegalEntityId);

            mockRepository.Verify(repository => repository.Get(accountLegalEntityId), Times.Once);
        }
        public void Arrange()
        {
            var account = new Domain.Entities.Account
            {
                Id               = 1,
                Name             = "Test",
                IsLevy           = true,
                ReservationLimit = 3
            };

            _legalEntities = new List <Domain.Entities.AccountLegalEntity>
            {
                new Domain.Entities.AccountLegalEntity
                {
                    Id                     = Guid.NewGuid(),
                    AccountId              = 1,
                    AccountLegalEntityId   = 2,
                    AccountLegalEntityName = "Test",
                    LegalEntityId          = 43,
                    AgreementSigned        = false,
                    ProviderPermissions    = null,
                    Account                = account
                },
                new Domain.Entities.AccountLegalEntity
                {
                    Id                     = Guid.NewGuid(),
                    AccountId              = 1,
                    AccountLegalEntityId   = 3,
                    AccountLegalEntityName = "Test 2",
                    LegalEntityId          = 54,
                    AgreementSigned        = true,
                    ProviderPermissions    = null,
                    Account                = account
                }
            };

            _repository = new Mock <IAccountLegalEntitiesRepository>();
            _repository.Setup(x => x.GetByAccountId(ExpectedAccountId)).ReturnsAsync(_legalEntities);

            _options = new Mock <IOptions <ReservationsConfiguration> >();
            _options.Setup(x => x.Value.MaxNumberOfReservations).Returns(ExpectedReservationLimit);

            _service = new AccountLegalEntitiesService(_repository.Object, _options.Object);
        }
        public async Task Then_Maps_Entity_To_Domain_Model(
            long accountLegalEntityId,
            [Frozen] Mock <IAccountLegalEntitiesRepository> mockRepository,
            AccountLegalEntitiesService service)
        {
            var accountLegalEntityEntity = BuildAccountLegalEntity(accountLegalEntityId);

            mockRepository
            .Setup(repository => repository.Get(accountLegalEntityId))
            .ReturnsAsync(accountLegalEntityEntity);

            var accountLegalEntity = await service.GetAccountLegalEntity(accountLegalEntityId);

            accountLegalEntity.Should().BeOfType <AccountLegalEntity>();
            accountLegalEntity.Should().BeEquivalentTo(accountLegalEntityEntity,
                                                       options => options
                                                       .Excluding(p => p.ProviderPermissions)
                                                       .Excluding(p => p.Account));
        }
 public void Arrange()
 {
     _repository = new Mock <IAccountLegalEntityRepository>();
     _service    = new AccountLegalEntitiesService(_repository.Object);
 }