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

View file

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