use of com.commercetools.sync.services.ProductTypeService in project commercetools-sync-java by commercetools.
the class ProductTypeReferenceResolverTest method resolveReferences_WithNoNestedTypeReferences_ShouldResolveReferences.
@Test
void resolveReferences_WithNoNestedTypeReferences_ShouldResolveReferences() {
// preparation
final AttributeDefinitionDraft attributeDefinitionDraft = AttributeDefinitionDraftBuilder.of(StringAttributeType.of(), "string attr", ofEnglish("string attr label"), true).build();
final ProductTypeDraft productTypeDraft = ProductTypeDraftBuilder.of("foo", "foo", "desc", singletonList(attributeDefinitionDraft)).build();
final ProductTypeSyncOptions syncOptions = ProductTypeSyncOptionsBuilder.of(mock(SphereClient.class)).build();
final ProductTypeService productTypeService = mock(ProductTypeService.class);
when(productTypeService.fetchCachedProductTypeId(any())).thenReturn(CompletableFuture.completedFuture(Optional.of("foo")));
final ProductTypeReferenceResolver productTypeReferenceResolver = new ProductTypeReferenceResolver(syncOptions, productTypeService);
final ProductTypeDraftDsl expectedResolvedProductTypeDraft = ProductTypeDraftBuilder.of(productTypeDraft).attributes(singletonList(attributeDefinitionDraft)).build();
// test and assertion
assertThat(productTypeReferenceResolver.resolveReferences(productTypeDraft)).isCompletedWithValue(expectedResolvedProductTypeDraft);
}
use of com.commercetools.sync.services.ProductTypeService in project commercetools-sync-java by commercetools.
the class ProductTypeReferenceResolverTest method resolveReferences_WithOneNestedTypeWithExistingProductTypeReference_ShouldResolveReferences.
@Test
void resolveReferences_WithOneNestedTypeWithExistingProductTypeReference_ShouldResolveReferences() {
// preparation
final NestedAttributeType nestedAttributeType = NestedAttributeType.of(ProductType.reference("x"));
final AttributeDefinitionDraft attributeDefinitionDraft = AttributeDefinitionDraftBuilder.of(nestedAttributeType, "foo", ofEnglish("foo"), true).build();
final ProductTypeDraft productTypeDraft = ProductTypeDraftBuilder.of("foo", "foo", "desc", singletonList(attributeDefinitionDraft)).build();
final ProductTypeSyncOptions syncOptions = ProductTypeSyncOptionsBuilder.of(mock(SphereClient.class)).build();
final ProductTypeService productTypeService = mock(ProductTypeService.class);
when(productTypeService.fetchCachedProductTypeId(any())).thenReturn(CompletableFuture.completedFuture(Optional.of("foo")));
final ProductTypeReferenceResolver productTypeReferenceResolver = new ProductTypeReferenceResolver(syncOptions, productTypeService);
final NestedAttributeType expectedResolvedNestedAttributeType = NestedAttributeType.of(ProductType.referenceOfId("foo"));
final AttributeDefinitionDraft expectedResolvedAttrDef = AttributeDefinitionDraftBuilder.of(attributeDefinitionDraft).attributeType(expectedResolvedNestedAttributeType).build();
final ProductTypeDraftDsl expectedResolvedProductTypeDraft = ProductTypeDraftBuilder.of(productTypeDraft).attributes(singletonList(expectedResolvedAttrDef)).build();
// test and assertion
assertThat(productTypeReferenceResolver.resolveReferences(productTypeDraft)).isCompletedWithValue(expectedResolvedProductTypeDraft);
}
use of com.commercetools.sync.services.ProductTypeService in project commercetools-sync-java by commercetools.
the class ProductTypeReferenceResolverTest method resolveReferences_WithManyNestedTypeWithExistingProductTypeReference_ShouldResolveReferences.
@Test
void resolveReferences_WithManyNestedTypeWithExistingProductTypeReference_ShouldResolveReferences() {
// preparation
final NestedAttributeType nestedAttributeType = NestedAttributeType.of(ProductType.reference("x"));
final AttributeDefinitionDraft attributeDefinitionDraft = AttributeDefinitionDraftBuilder.of(nestedAttributeType, "foo", ofEnglish("foo"), true).build();
final ProductTypeDraft productTypeDraft = ProductTypeDraftBuilder.of("foo", "foo", "desc", asList(attributeDefinitionDraft, attributeDefinitionDraft)).build();
final ProductTypeSyncOptions syncOptions = ProductTypeSyncOptionsBuilder.of(mock(SphereClient.class)).build();
final ProductTypeService productTypeService = mock(ProductTypeService.class);
when(productTypeService.fetchCachedProductTypeId(any())).thenReturn(CompletableFuture.completedFuture(Optional.of("foo")));
final ProductTypeReferenceResolver productTypeReferenceResolver = new ProductTypeReferenceResolver(syncOptions, productTypeService);
final NestedAttributeType expectedResolvedNestedAttributeType = NestedAttributeType.of(ProductType.referenceOfId("foo"));
final AttributeDefinitionDraft expectedResolvedAttrDef = AttributeDefinitionDraftBuilder.of(attributeDefinitionDraft).attributeType(expectedResolvedNestedAttributeType).build();
final ProductTypeDraftDsl expectedResolvedProductTypeDraft = ProductTypeDraftBuilder.of(productTypeDraft).attributes(asList(expectedResolvedAttrDef, expectedResolvedAttrDef)).build();
// test and assertion
assertThat(productTypeReferenceResolver.resolveReferences(productTypeDraft)).isCompletedWithValue(expectedResolvedProductTypeDraft);
}
use of com.commercetools.sync.services.ProductTypeService in project commercetools-sync-java by commercetools.
the class ProductTypeReferenceResolverTest method resolveReferences_WithOneSetOfNestedTypeWithExistingProductTypeReference_ShouldResolveReferences.
@Test
void resolveReferences_WithOneSetOfNestedTypeWithExistingProductTypeReference_ShouldResolveReferences() {
// preparation
final NestedAttributeType nestedAttributeType = NestedAttributeType.of(ProductType.reference("x"));
final SetAttributeType setAttributeType = SetAttributeType.of(nestedAttributeType);
final AttributeDefinitionDraft attributeDefinitionDraft = AttributeDefinitionDraftBuilder.of(setAttributeType, "foo", ofEnglish("foo"), true).build();
final ProductTypeDraft productTypeDraft = ProductTypeDraftBuilder.of("foo", "foo", "desc", singletonList(attributeDefinitionDraft)).build();
final ProductTypeSyncOptions syncOptions = ProductTypeSyncOptionsBuilder.of(mock(SphereClient.class)).build();
final ProductTypeService productTypeService = mock(ProductTypeService.class);
when(productTypeService.fetchCachedProductTypeId(any())).thenReturn(CompletableFuture.completedFuture(Optional.of("foo")));
final ProductTypeReferenceResolver productTypeReferenceResolver = new ProductTypeReferenceResolver(syncOptions, productTypeService);
final NestedAttributeType expectedResolvedNestedAttributeType = NestedAttributeType.of(ProductType.referenceOfId("foo"));
final SetAttributeType expectedSetAttributeType = SetAttributeType.of(expectedResolvedNestedAttributeType);
final AttributeDefinitionDraft expectedResolvedAttrDef = AttributeDefinitionDraftBuilder.of(attributeDefinitionDraft).attributeType(expectedSetAttributeType).build();
final ProductTypeDraftDsl expectedResolvedProductTypeDraft = ProductTypeDraftBuilder.of(productTypeDraft).attributes(singletonList(expectedResolvedAttrDef)).build();
// test and assertion
assertThat(productTypeReferenceResolver.resolveReferences(productTypeDraft)).isCompletedWithValue(expectedResolvedProductTypeDraft);
}
use of com.commercetools.sync.services.ProductTypeService in project commercetools-sync-java by commercetools.
the class ProductTypeReferenceResolverTest method resolveReferences_WithNullAttributes_ShouldNotResolveReferences.
@Test
void resolveReferences_WithNullAttributes_ShouldNotResolveReferences() {
// preparation
final ProductTypeDraft productTypeDraft = ProductTypeDraftBuilder.of("foo", "foo", "desc", null).build();
final ProductTypeSyncOptions syncOptions = ProductTypeSyncOptionsBuilder.of(mock(SphereClient.class)).build();
final ProductTypeService productTypeService = mock(ProductTypeService.class);
when(productTypeService.fetchCachedProductTypeId(any())).thenReturn(CompletableFuture.completedFuture(Optional.of("foo")));
final ProductTypeReferenceResolver productTypeReferenceResolver = new ProductTypeReferenceResolver(syncOptions, productTypeService);
final ProductTypeDraftDsl expectedResolvedProductTypeDraft = ProductTypeDraftBuilder.of(productTypeDraft).build();
// test and assertion
assertThat(productTypeReferenceResolver.resolveReferences(productTypeDraft)).isCompletedWithValue(expectedResolvedProductTypeDraft);
}
Aggregations