function it_normalize_products($productNormalizer, $versionNormalizer, $versionManager, $localeManager, ProductInterface $mug, AssociationInterface $upsell, AssociationTypeInterface $groupType, GroupInterface $group, ArrayCollection $groups)
 {
     $productNormalizer->normalize($mug, 'json', [])->willReturn(['normalized_property' => 'a nice normalized property']);
     $mug->getId()->willReturn(12);
     $versionManager->getOldestLogEntry($mug)->willReturn('create_version');
     $versionNormalizer->normalize('create_version', 'internal_api')->willReturn('normalized_create_version');
     $versionManager->getNewestLogEntry($mug)->willReturn('update_version');
     $versionNormalizer->normalize('update_version', 'internal_api')->willReturn('normalized_update_version');
     $localeManager->getActiveCodes()->willReturn(['en_US', 'fr_FR']);
     $mug->getLabel('en_US')->willReturn('A nice Mug!');
     $mug->getLabel('fr_FR')->willReturn('Un très beau Mug !');
     $mug->getAssociations()->willReturn([$upsell]);
     $upsell->getAssociationType()->willReturn($groupType);
     $groupType->getCode()->willReturn('group');
     $upsell->getGroups()->willReturn($groups);
     $groups->toArray()->willReturn([$group]);
     $group->getId()->willReturn(12);
     $this->normalize($mug, 'internal_api', [])->shouldReturn(['normalized_property' => 'a nice normalized property', 'meta' => ['id' => 12, 'created' => 'normalized_create_version', 'updated' => 'normalized_update_version', 'label' => ['en_US' => 'A nice Mug!', 'fr_FR' => 'Un très beau Mug !'], 'associations' => ['group' => ['groupIds' => [12]]]]]);
 }