Loading src/Entity/VadoGroup.php +23 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ use Drupal\Core\Field\BaseFieldDefinition; * "default" = "Drupal\commerce_vado\Form\VadoGroupForm", * "add" = "Drupal\commerce_vado\Form\VadoGroupForm", * "edit" = "Drupal\commerce_vado\Form\VadoGroupForm", * "duplicate" = "Drupal\commerce_vado\Form\VadoGroupForm", * "delete" = "Drupal\Core\Entity\ContentEntityDeleteForm", * }, * "local_task_provider" = { Loading @@ -51,6 +52,7 @@ use Drupal\Core\Field\BaseFieldDefinition; * "canonical" = "/admin/commerce/vado-groups/{commerce_vado_group}", * "add-form" = "/admin/commerce/vado-groups/add", * "edit-form" = "/admin/commerce/vado-groups/{commerce_vado_group}/edit", * "duplicate-form" = "/admin/commerce/vado-groups/{commerce_vado_group}/duplicate", * "delete-form" = "/admin/commerce/vado-groups/{commerce_vado_group}/delete", * "delete-multiple-form" = "/admin/commerce/vado-groups/delete", * "collection" = "/admin/commerce/vado-groups", Loading @@ -60,6 +62,27 @@ use Drupal\Core\Field\BaseFieldDefinition; */ class VadoGroup extends ContentEntityBase implements VadoGroupInterface { /** * Duplicates commerce vado groups and their group items. */ public function createDuplicate() { $duplicate_group = parent::createDuplicate(); /** @var \Drupal\commerce_vado\Entity\VadoGroupInterface $duplicate_group */ $duplicate_group_items = []; foreach ($duplicate_group->getItems() as $group_item) { // Create a duplicate for each group_item so it has a new id. $duplicate_group_item = $group_item->createDuplicate(); // Set the group_id for the duplicate_group_item. $duplicate_group_item->set('group_id', $duplicate_group->id()); // Add the duplicate_group_item to the duplicate_group_items array. $duplicate_group_items[] = $duplicate_group_item; } // Set the duplicate_group_items to the duplicate_group. $duplicate_group->setItems($duplicate_group_items); return $duplicate_group; } /** * {@inheritdoc} */ Loading src/Entity/VadoGroupInterface.php +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ interface VadoGroupInterface extends ContentEntityInterface { public function hasItems(); /** * Adds an group item. * Adds a group item. * * @param \Drupal\commerce_vado\Entity\VadoGroupItemInterface $group_item * The group item. Loading src/Form/VadoGroupForm.php +6 −1 Original line number Diff line number Diff line Loading @@ -10,12 +10,15 @@ use Drupal\Core\Entity\EntityTypeBundleInfoInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Render\Element; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\entity\Form\EntityDuplicateFormTrait; /** * Provides the group form. */ class VadoGroupForm extends ContentEntityForm { use EntityDuplicateFormTrait; /** * The vado group widget plugin manager. * Loading Loading @@ -89,7 +92,9 @@ class VadoGroupForm extends ContentEntityForm { * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $this->entity->save(); $group = $this->getEntity(); $group->save(); $this->postSave($group, $this->operation); $this->messenger()->addMessage($this->t('The variation add-on group %label has been successfully saved.', ['%label' => $this->entity->label()])); $form_state->setRedirect('entity.commerce_vado_group.collection'); } Loading tests/src/Kernel/Entity/VadoGroupTest.php 0 → 100644 +251 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\commerce_vado\Kernel\Entity; use Drupal\commerce_vado\Entity\VadoGroup; use Drupal\commerce_vado\Entity\VadoGroupItem; use Drupal\commerce_product\Entity\ProductVariation; use Drupal\Tests\commerce_cart\Kernel\CartKernelTestBase; /** * Tests the Group entity. * * @group commerce_vado */ class VadoGroupTest extends CartKernelTestBase { /** * Modules to enable. * * @var array */ public static $modules = [ 'commerce_vado', ]; /** * The vado field manager. * * @var \Drupal\commerce_vado\VadoFieldManagerInterface */ protected $vadoFieldManager; /** * A sample user. * * @var \Drupal\user\UserInterface */ protected $user; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $this->installEntitySchema('commerce_vado_group_item'); $this->installEntitySchema('commerce_vado_group'); $this->installConfig(['commerce_vado']); $this->vadoFieldManager = $this->container->get('commerce_vado.field_manager'); $this->vadoFieldManager->installField('variation_groups', 'default'); $user = $this->createUser([], ['administer commerce_vado_group']); $this->user = $this->reloadEntity($user); $this->container->get('current_user')->setAccount($user); $this->variation1 = ProductVariation::create([ 'type' => 'default', 'sku' => strtolower($this->randomMachineName()), 'title' => $this->randomString(), 'status' => 0, ]); $this->variation1->save(); $this->variation2 = ProductVariation::create([ 'type' => 'default', 'sku' => strtolower($this->randomMachineName()), 'title' => $this->randomString(), 'status' => 1, ]); $this->variation2->save(); $this->group_item1 = VadoGroupItem::create(); $this->group_item1->save(); $this->group_item1->set('variation', $this->variation1); $this->group_item1->save(); // setItems() and addItem() do not seem to set the group_id backreference. $this->group_item1->set('group_id', 1); $this->group_item1->save(); $this->group_item2 = VadoGroupItem::create(); $this->group_item2->save(); $this->group_item2->set('variation', $this->variation2); $this->group_item2->save(); // setItems() and addItem() do not seem to set the group_id backreference. $this->group_item2->set('group_id', 1); $this->group_item2->save(); $this->group_items = [ $this->group_item1, $this->group_item2, ]; $this->group = VadoGroup::create(); $this->group->save(); $this->group->set('title', 'Group 1'); $this->group->save(); } /** * The vado group test. */ public function testVadoGroup() { $this->group->setCreatedTime(635879700); $this->assertEquals(635879700, $this->group->getCreatedTime()); $this->group->setRequired(TRUE); $this->group->save(); $this->assertTrue($this->group->isRequired()); $this->group->setRequired(FALSE); $this->group->save(); $this->assertFalse($this->group->isRequired()); $this->group->setGroupDiscount(10); $this->group->save(); $this->assertTrue($this->group->hasGroupDiscount()); $this->assertEquals(10, $this->group->getGroupDiscount()); $this->assertEquals(.9, $this->group->getGroupDiscountMultiplier()); $this->assertEquals(.1, $this->group->getGroupDiscountAmountMultiplier()); $this->group->setGroupDiscount(NULL); $this->group->save(); $this->assertFalse($this->group->hasGroupDiscount()); } /** * The vado group item group test. */ public function testVadoGroupItemGroup() { $this->group->addItem($this->group_item1); $this->group->save(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertEquals(1, $this->group_item1->id()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertNotNull($this->group_item1->getGroup()); $this->group->RemoveItem($this->group_item1); $this->group->save(); $this->assertFalse($this->group->hasItems()); $this->assertFalse($this->group->hasItem($this->group_item1)); $this->group->setItems($this->group_items); $this->group->save(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertTrue($this->group->hasItem($this->group_item2)); $this->assertEquals(1, $this->group_item1->id()); $this->assertEquals(2, $this->group_item2->id()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertEquals(1, $this->group_item2->getGroupId()); $this->assertNotNull($this->group_item1->getGroup()); $this->assertNotNull($this->group_item2->getGroup()); } /** * The vado group duplicate test. */ public function testVadoGroupDuplicate() { // Set the group values to duplicate. $this->group->setRequired(TRUE); $this->group->save(); $this->assertTrue($this->group->isRequired()); $this->group->setGroupDiscount(10); $this->group->save(); $this->assertTrue($this->group->hasGroupDiscount()); $this->assertEquals(10, $this->group->getGroupDiscount()); $this->assertEquals(.9, $this->group->getGroupDiscountMultiplier()); $this->assertEquals(.1, $this->group->getGroupDiscountAmountMultiplier()); $this->group->setItems($this->group_items); $this->group->save(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertTrue($this->group->hasItem($this->group_item2)); $this->assertNotNull($this->group_item1->getGroup()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertNotNull($this->group_item2->getGroup()); $this->assertEquals(1, $this->group_item2->getGroupId()); $this->assertEquals(1, $this->group_item1->getVariationId()); $this->assertEquals(2, $this->group_item2->getVariationId()); // Create the duplicate group, and check it's values. $duplicate_group = $this->group->createDuplicate(); $duplicate_group->save(); $this->assertEquals('Group 1', $duplicate_group->label()); $this->assertTrue($duplicate_group->isRequired()); $this->assertEquals(10, $duplicate_group->getGroupDiscount()); $this->assertTrue($duplicate_group->hasItems()); $this->assertFalse($duplicate_group->hasItem($this->group_item1)); $this->assertFalse($duplicate_group->hasItem($this->group_item2)); // @todo Figure out a better way to identify the 2 duplicate group items. $duplicate_group_items = $duplicate_group->getItems(); foreach ($duplicate_group_items as $duplicate_group_item) { if ($duplicate_group_item->id() == 3) { $duplicate_group_item1 = $duplicate_group_item; } if ($duplicate_group_item->id() == 4) { $duplicate_group_item2 = $duplicate_group_item; } } // Check that the duplicate group item id's are new, and successive. $this->assertTrue($duplicate_group->hasItem($duplicate_group_item1)); $this->assertTrue($duplicate_group->hasItem($duplicate_group_item2)); $this->assertEquals(2, $duplicate_group_item1->getGroupId()); $this->assertNotNull($duplicate_group_item1->getGroup()); $this->assertEquals(2, $duplicate_group_item2->getGroupId()); $this->assertNotNull($duplicate_group_item2->getGroup()); $this->assertNotEquals(1, $duplicate_group_item1->id()); $this->assertNotEquals(2, $duplicate_group_item2->id()); $this->assertEquals(3, $duplicate_group_item1->id()); $this->assertEquals(4, $duplicate_group_item2->id()); $this->assertEquals(1, $duplicate_group_item1->getVariationId()); $this->assertEquals(2, $duplicate_group_item2->getVariationId()); // Set the discount on original #1 and make sure duplicate #1 is still NULL. $this->group_item1->set('group_item_discount', 10); $this->group_item1->save(); $this->assertEquals(10, $this->group_item1->getGroupItemDiscount()); $this->assertNull($duplicate_group_item1->getGroupItemDiscount()); // Remove duplicate #1 and make sure original #1 is still there. $duplicate_group->RemoveItem($duplicate_group_item1); $duplicate_group->save(); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertFalse($duplicate_group->hasItem($duplicate_group_item1)); $this->assertTrue($duplicate_group->hasItem($duplicate_group_item2)); // Set the discount on duplicate #2 and make sure original #2 is still NULL. $duplicate_group_item2->set('group_item_discount', 10); $duplicate_group_item2->save(); $this->assertEquals(10, $duplicate_group_item2->getGroupItemDiscount()); $this->assertNull($this->group_item2->getGroupItemDiscount()); // Delete the duplicate group and make sure the original group stays. $duplicate_group->delete(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertTrue($this->group->hasItem($this->group_item2)); $this->assertNotNull($this->group_item1->getGroup()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertNotNull($this->group_item2->getGroup()); $this->assertEquals(1, $this->group_item2->getGroupId()); } } Loading
src/Entity/VadoGroup.php +23 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ use Drupal\Core\Field\BaseFieldDefinition; * "default" = "Drupal\commerce_vado\Form\VadoGroupForm", * "add" = "Drupal\commerce_vado\Form\VadoGroupForm", * "edit" = "Drupal\commerce_vado\Form\VadoGroupForm", * "duplicate" = "Drupal\commerce_vado\Form\VadoGroupForm", * "delete" = "Drupal\Core\Entity\ContentEntityDeleteForm", * }, * "local_task_provider" = { Loading @@ -51,6 +52,7 @@ use Drupal\Core\Field\BaseFieldDefinition; * "canonical" = "/admin/commerce/vado-groups/{commerce_vado_group}", * "add-form" = "/admin/commerce/vado-groups/add", * "edit-form" = "/admin/commerce/vado-groups/{commerce_vado_group}/edit", * "duplicate-form" = "/admin/commerce/vado-groups/{commerce_vado_group}/duplicate", * "delete-form" = "/admin/commerce/vado-groups/{commerce_vado_group}/delete", * "delete-multiple-form" = "/admin/commerce/vado-groups/delete", * "collection" = "/admin/commerce/vado-groups", Loading @@ -60,6 +62,27 @@ use Drupal\Core\Field\BaseFieldDefinition; */ class VadoGroup extends ContentEntityBase implements VadoGroupInterface { /** * Duplicates commerce vado groups and their group items. */ public function createDuplicate() { $duplicate_group = parent::createDuplicate(); /** @var \Drupal\commerce_vado\Entity\VadoGroupInterface $duplicate_group */ $duplicate_group_items = []; foreach ($duplicate_group->getItems() as $group_item) { // Create a duplicate for each group_item so it has a new id. $duplicate_group_item = $group_item->createDuplicate(); // Set the group_id for the duplicate_group_item. $duplicate_group_item->set('group_id', $duplicate_group->id()); // Add the duplicate_group_item to the duplicate_group_items array. $duplicate_group_items[] = $duplicate_group_item; } // Set the duplicate_group_items to the duplicate_group. $duplicate_group->setItems($duplicate_group_items); return $duplicate_group; } /** * {@inheritdoc} */ Loading
src/Entity/VadoGroupInterface.php +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ interface VadoGroupInterface extends ContentEntityInterface { public function hasItems(); /** * Adds an group item. * Adds a group item. * * @param \Drupal\commerce_vado\Entity\VadoGroupItemInterface $group_item * The group item. Loading
src/Form/VadoGroupForm.php +6 −1 Original line number Diff line number Diff line Loading @@ -10,12 +10,15 @@ use Drupal\Core\Entity\EntityTypeBundleInfoInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\Core\Render\Element; use Symfony\Component\DependencyInjection\ContainerInterface; use Drupal\entity\Form\EntityDuplicateFormTrait; /** * Provides the group form. */ class VadoGroupForm extends ContentEntityForm { use EntityDuplicateFormTrait; /** * The vado group widget plugin manager. * Loading Loading @@ -89,7 +92,9 @@ class VadoGroupForm extends ContentEntityForm { * {@inheritdoc} */ public function save(array $form, FormStateInterface $form_state) { $this->entity->save(); $group = $this->getEntity(); $group->save(); $this->postSave($group, $this->operation); $this->messenger()->addMessage($this->t('The variation add-on group %label has been successfully saved.', ['%label' => $this->entity->label()])); $form_state->setRedirect('entity.commerce_vado_group.collection'); } Loading
tests/src/Kernel/Entity/VadoGroupTest.php 0 → 100644 +251 −0 Original line number Diff line number Diff line <?php namespace Drupal\Tests\commerce_vado\Kernel\Entity; use Drupal\commerce_vado\Entity\VadoGroup; use Drupal\commerce_vado\Entity\VadoGroupItem; use Drupal\commerce_product\Entity\ProductVariation; use Drupal\Tests\commerce_cart\Kernel\CartKernelTestBase; /** * Tests the Group entity. * * @group commerce_vado */ class VadoGroupTest extends CartKernelTestBase { /** * Modules to enable. * * @var array */ public static $modules = [ 'commerce_vado', ]; /** * The vado field manager. * * @var \Drupal\commerce_vado\VadoFieldManagerInterface */ protected $vadoFieldManager; /** * A sample user. * * @var \Drupal\user\UserInterface */ protected $user; /** * {@inheritdoc} */ protected function setUp(): void { parent::setUp(); $this->installEntitySchema('commerce_vado_group_item'); $this->installEntitySchema('commerce_vado_group'); $this->installConfig(['commerce_vado']); $this->vadoFieldManager = $this->container->get('commerce_vado.field_manager'); $this->vadoFieldManager->installField('variation_groups', 'default'); $user = $this->createUser([], ['administer commerce_vado_group']); $this->user = $this->reloadEntity($user); $this->container->get('current_user')->setAccount($user); $this->variation1 = ProductVariation::create([ 'type' => 'default', 'sku' => strtolower($this->randomMachineName()), 'title' => $this->randomString(), 'status' => 0, ]); $this->variation1->save(); $this->variation2 = ProductVariation::create([ 'type' => 'default', 'sku' => strtolower($this->randomMachineName()), 'title' => $this->randomString(), 'status' => 1, ]); $this->variation2->save(); $this->group_item1 = VadoGroupItem::create(); $this->group_item1->save(); $this->group_item1->set('variation', $this->variation1); $this->group_item1->save(); // setItems() and addItem() do not seem to set the group_id backreference. $this->group_item1->set('group_id', 1); $this->group_item1->save(); $this->group_item2 = VadoGroupItem::create(); $this->group_item2->save(); $this->group_item2->set('variation', $this->variation2); $this->group_item2->save(); // setItems() and addItem() do not seem to set the group_id backreference. $this->group_item2->set('group_id', 1); $this->group_item2->save(); $this->group_items = [ $this->group_item1, $this->group_item2, ]; $this->group = VadoGroup::create(); $this->group->save(); $this->group->set('title', 'Group 1'); $this->group->save(); } /** * The vado group test. */ public function testVadoGroup() { $this->group->setCreatedTime(635879700); $this->assertEquals(635879700, $this->group->getCreatedTime()); $this->group->setRequired(TRUE); $this->group->save(); $this->assertTrue($this->group->isRequired()); $this->group->setRequired(FALSE); $this->group->save(); $this->assertFalse($this->group->isRequired()); $this->group->setGroupDiscount(10); $this->group->save(); $this->assertTrue($this->group->hasGroupDiscount()); $this->assertEquals(10, $this->group->getGroupDiscount()); $this->assertEquals(.9, $this->group->getGroupDiscountMultiplier()); $this->assertEquals(.1, $this->group->getGroupDiscountAmountMultiplier()); $this->group->setGroupDiscount(NULL); $this->group->save(); $this->assertFalse($this->group->hasGroupDiscount()); } /** * The vado group item group test. */ public function testVadoGroupItemGroup() { $this->group->addItem($this->group_item1); $this->group->save(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertEquals(1, $this->group_item1->id()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertNotNull($this->group_item1->getGroup()); $this->group->RemoveItem($this->group_item1); $this->group->save(); $this->assertFalse($this->group->hasItems()); $this->assertFalse($this->group->hasItem($this->group_item1)); $this->group->setItems($this->group_items); $this->group->save(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertTrue($this->group->hasItem($this->group_item2)); $this->assertEquals(1, $this->group_item1->id()); $this->assertEquals(2, $this->group_item2->id()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertEquals(1, $this->group_item2->getGroupId()); $this->assertNotNull($this->group_item1->getGroup()); $this->assertNotNull($this->group_item2->getGroup()); } /** * The vado group duplicate test. */ public function testVadoGroupDuplicate() { // Set the group values to duplicate. $this->group->setRequired(TRUE); $this->group->save(); $this->assertTrue($this->group->isRequired()); $this->group->setGroupDiscount(10); $this->group->save(); $this->assertTrue($this->group->hasGroupDiscount()); $this->assertEquals(10, $this->group->getGroupDiscount()); $this->assertEquals(.9, $this->group->getGroupDiscountMultiplier()); $this->assertEquals(.1, $this->group->getGroupDiscountAmountMultiplier()); $this->group->setItems($this->group_items); $this->group->save(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertTrue($this->group->hasItem($this->group_item2)); $this->assertNotNull($this->group_item1->getGroup()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertNotNull($this->group_item2->getGroup()); $this->assertEquals(1, $this->group_item2->getGroupId()); $this->assertEquals(1, $this->group_item1->getVariationId()); $this->assertEquals(2, $this->group_item2->getVariationId()); // Create the duplicate group, and check it's values. $duplicate_group = $this->group->createDuplicate(); $duplicate_group->save(); $this->assertEquals('Group 1', $duplicate_group->label()); $this->assertTrue($duplicate_group->isRequired()); $this->assertEquals(10, $duplicate_group->getGroupDiscount()); $this->assertTrue($duplicate_group->hasItems()); $this->assertFalse($duplicate_group->hasItem($this->group_item1)); $this->assertFalse($duplicate_group->hasItem($this->group_item2)); // @todo Figure out a better way to identify the 2 duplicate group items. $duplicate_group_items = $duplicate_group->getItems(); foreach ($duplicate_group_items as $duplicate_group_item) { if ($duplicate_group_item->id() == 3) { $duplicate_group_item1 = $duplicate_group_item; } if ($duplicate_group_item->id() == 4) { $duplicate_group_item2 = $duplicate_group_item; } } // Check that the duplicate group item id's are new, and successive. $this->assertTrue($duplicate_group->hasItem($duplicate_group_item1)); $this->assertTrue($duplicate_group->hasItem($duplicate_group_item2)); $this->assertEquals(2, $duplicate_group_item1->getGroupId()); $this->assertNotNull($duplicate_group_item1->getGroup()); $this->assertEquals(2, $duplicate_group_item2->getGroupId()); $this->assertNotNull($duplicate_group_item2->getGroup()); $this->assertNotEquals(1, $duplicate_group_item1->id()); $this->assertNotEquals(2, $duplicate_group_item2->id()); $this->assertEquals(3, $duplicate_group_item1->id()); $this->assertEquals(4, $duplicate_group_item2->id()); $this->assertEquals(1, $duplicate_group_item1->getVariationId()); $this->assertEquals(2, $duplicate_group_item2->getVariationId()); // Set the discount on original #1 and make sure duplicate #1 is still NULL. $this->group_item1->set('group_item_discount', 10); $this->group_item1->save(); $this->assertEquals(10, $this->group_item1->getGroupItemDiscount()); $this->assertNull($duplicate_group_item1->getGroupItemDiscount()); // Remove duplicate #1 and make sure original #1 is still there. $duplicate_group->RemoveItem($duplicate_group_item1); $duplicate_group->save(); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertFalse($duplicate_group->hasItem($duplicate_group_item1)); $this->assertTrue($duplicate_group->hasItem($duplicate_group_item2)); // Set the discount on duplicate #2 and make sure original #2 is still NULL. $duplicate_group_item2->set('group_item_discount', 10); $duplicate_group_item2->save(); $this->assertEquals(10, $duplicate_group_item2->getGroupItemDiscount()); $this->assertNull($this->group_item2->getGroupItemDiscount()); // Delete the duplicate group and make sure the original group stays. $duplicate_group->delete(); $this->assertTrue($this->group->hasItems()); $this->assertTrue($this->group->hasItem($this->group_item1)); $this->assertTrue($this->group->hasItem($this->group_item2)); $this->assertNotNull($this->group_item1->getGroup()); $this->assertEquals(1, $this->group_item1->getGroupId()); $this->assertNotNull($this->group_item2->getGroup()); $this->assertEquals(1, $this->group_item2->getGroupId()); } }