public async Task Can_Get_AvailableBusinessTypes() { //Arrange var orgUuid = TestEnvironment.GetEntityUuid <Organization>(TestEnvironment.DefaultOrganizationId); var pageSize = Math.Max(1, A <int>() % 9); //Minimum is 1; var pageNumber = 0; //Always takes the first page; var locallyEnabledOptions = DatabaseAccess.MapFromEntitySet <LocalBusinessType, IEnumerable <int> >(x => x.AsQueryable().Where(y => y.IsActive).Select(y => y.OptionId).ToList()); var dbData = DatabaseAccess.MapFromEntitySet <BusinessType, IEnumerable <Guid> >(x => x.AsQueryable().OrderBy(x => x.Name).Where(x => x.IsObligatory || (x.IsEnabled && locallyEnabledOptions.Contains(x.Id))).Select(x => x.Uuid).Take(pageSize).ToList()); //Act var businessTypes = await BusinessTypeV2Helper.GetBusinessTypesAsync(orgUuid, pageSize, pageNumber); //Assert Assert.Equal(pageSize, businessTypes.Count()); foreach (IdentityNamePairResponseDTO uuidPair in businessTypes) { Assert.Contains(uuidPair.Uuid, dbData); } }
public async Task Can_Get_SpecificBusinessType_That_Is_Available() { //Arrange var orgId = TestEnvironment.DefaultOrganizationId; var businessTypeName = A <string>(); var createdBusinessType = await EntityOptionHelper.CreateBusinessTypeAsync(businessTypeName, orgId); var organisation = await OrganizationHelper.GetOrganizationAsync(orgId); var businessTypes = await BusinessTypeV2Helper.GetBusinessTypesAsync(organisation.Uuid.Value, 100, 0); //100 should be more than enough to get all. var businessType = businessTypes.Where(x => x.Name.Equals(businessTypeName)).First(); //Get the newly created businessType. //Act var businessTypeResult = await BusinessTypeV2Helper.GetBusinessTypeAsync(businessType.Uuid, organisation.Uuid.Value); //Assert Assert.Equal(businessTypeName, businessTypeResult.Name); Assert.Equal(businessType.Uuid, businessTypeResult.Uuid); Assert.True(businessTypeResult.IsAvailable); }