Merge pull request #8097 from stefandoorn/product-variant-generator-code-instead-of-id

Use codes of option value & option instead of ID in variant generator
This commit is contained in:
Paweł Jędrzejewski 2017-05-25 15:29:15 +02:00 committed by GitHub
commit 2f494d363f
2 changed files with 16 additions and 16 deletions

View file

@ -63,8 +63,8 @@ final class ProductVariantGenerator implements ProductVariantGeneratorInterface
foreach ($product->getOptions() as $key => $option) {
foreach ($option->getValues() as $value) {
$optionSet[$key][] = $value->getId();
$optionMap[$value->getId()] = $value;
$optionSet[$key][] = $value->getCode();
$optionMap[$value->getCode()] = $value;
}
}
@ -108,8 +108,8 @@ final class ProductVariantGenerator implements ProductVariantGeneratorInterface
return;
}
foreach ($permutation as $id) {
$variant->addOptionValue($optionMap[$id]);
foreach ($permutation as $code) {
$variant->addOptionValue($optionMap[$code]);
}
}
}

View file

@ -67,9 +67,9 @@ final class ProductVariantGeneratorSpec extends ObjectBehavior
$colorOption->getValues()->willReturn([$blackColor, $whiteColor, $redColor]);
$blackColor->getId()->willReturn('black1');
$whiteColor->getId()->willReturn('white2');
$redColor->getId()->willReturn('red3');
$blackColor->getCode()->willReturn('black1');
$whiteColor->getCode()->willReturn('white2');
$redColor->getCode()->willReturn('red3');
$variantsParityChecker->checkParity($permutationVariant, $productVariable)->willReturn(false);
@ -97,9 +97,9 @@ final class ProductVariantGeneratorSpec extends ObjectBehavior
$colorOption->getValues()->willReturn([$blackColor, $whiteColor, $redColor]);
$blackColor->getId()->willReturn('black1');
$whiteColor->getId()->willReturn('white2');
$redColor->getId()->willReturn('red3');
$blackColor->getCode()->willReturn('black1');
$whiteColor->getCode()->willReturn('white2');
$redColor->getCode()->willReturn('red3');
$variantsParityChecker->checkParity($permutationVariant, $productVariable)->willReturn(true);
@ -132,12 +132,12 @@ final class ProductVariantGeneratorSpec extends ObjectBehavior
$colorOption->getValues()->willReturn([$blackColor, $whiteColor, $redColor]);
$sizeOption->getValues()->willReturn([$smallSize, $mediumSize, $largeSize]);
$blackColor->getId()->willReturn('black1');
$whiteColor->getId()->willReturn('white2');
$redColor->getId()->willReturn('red3');
$smallSize->getId()->willReturn('small4');
$mediumSize->getId()->willReturn('medium5');
$largeSize->getId()->willReturn('large6');
$blackColor->getCode()->willReturn('black1');
$whiteColor->getCode()->willReturn('white2');
$redColor->getCode()->willReturn('red3');
$smallSize->getCode()->willReturn('small4');
$mediumSize->getCode()->willReturn('medium5');
$largeSize->getCode()->willReturn('large6');
$variantsParityChecker->checkParity($permutationVariant, $productVariable)->willReturn(false);