public async Task Then_The_ProviderPermissions_Are_Returned_From_The_Repository_By_ProviderId( uint providerId, [Frozen] Mock <IProviderPermissionRepository> providerPermissionRepository, ProviderPermissionsService service) { //Arrange var providerPermissions = new List <Domain.Entities.ProviderPermission> { new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = new AccountLegalEntity(), AccountLegalEntityId = 2, CanCreateCohort = true, Account = new Domain.Entities.Account { Name = "test" } } }; providerPermissionRepository.Setup(x => x.GetByProviderId(providerId)).ReturnsAsync(providerPermissions); //Act await service.GetPermissionsByProviderId(providerId); //Assert providerPermissionRepository.Verify(x => x.GetByProviderId(providerId), Times.Once); }
public async Task Then_Only_Non_Levy_Legal_Entities_With_Permissions_Are_Returned_And_Mapped_To_The_Domain_Object( uint providerId, string accountLegalEntityName, [Frozen] Mock <IProviderPermissionRepository> providerPermissionRepository, ProviderPermissionsService service) { //Arrange var providerPermissions = new List <Domain.Entities.ProviderPermission> { new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = new AccountLegalEntity { AccountLegalEntityName = accountLegalEntityName }, AccountLegalEntityId = 2, CanCreateCohort = true, Account = new Domain.Entities.Account { Name = "test", IsLevy = false } }, new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = new AccountLegalEntity { AccountLegalEntityName = accountLegalEntityName }, AccountLegalEntityId = 2, CanCreateCohort = true, Account = new Domain.Entities.Account { Name = "test", IsLevy = false } }, new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = new AccountLegalEntity { AccountLegalEntityName = accountLegalEntityName }, AccountLegalEntityId = 2, CanCreateCohort = true, Account = new Domain.Entities.Account { Name = "test", IsLevy = true } }, new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = null, AccountLegalEntityId = 2, CanCreateCohort = true, Account = null }, new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = new AccountLegalEntity { AccountLegalEntityName = accountLegalEntityName }, AccountLegalEntityId = 2, CanCreateCohort = true, Account = null }, new Domain.Entities.ProviderPermission { AccountId = 1, UkPrn = providerId, AccountLegalEntity = new AccountLegalEntity { AccountLegalEntityName = accountLegalEntityName }, AccountLegalEntityId = 2, CanCreateCohort = false, Account = new Domain.Entities.Account { Name = "test", IsLevy = false } } }; providerPermissionRepository.Setup(x => x.GetByProviderId(providerId)).ReturnsAsync(providerPermissions); //Act var actual = await service.GetPermissionsByProviderId(providerId); //Assert Assert.AreEqual(2, actual.Count); }