public function setUp() { parent::setUp(); $this->artisan('migrate', ['--database' => 'testbench', '--path' => '../tests/migrations']); for ($i = 1; $i <= 30; ++$i) { $entities[$i] = new SortableEntity(); $entities[$i]->save(); } $entity = new M2mEntity(); $entity->save(); $relatedEntities = []; for ($i = 1; $i <= 30; ++$i) { $relatedEntity = new M2mRelatedEntity(); $entity->relatedEntities()->save($relatedEntity); $relatedEntities[$i] = $relatedEntity; } $entity = new M2mEntity(); $entity->save(); $relatedEntities = []; for ($i = 1; $i <= 30; ++$i) { $relatedEntity = new M2mRelatedEntity(); $entity->relatedEntities()->save($relatedEntity); $relatedEntities[$i] = $relatedEntity; } }
/** * @param * @param * @param * @dataProvider allProvider */ public function testMoveBeforeOtherRelatedNotChanged($entityId, $relativeEntityId, $countTotal) { $entity = new M2mEntity(); $entity->save(); $relatedEntities = []; $otherEntity = new M2mEntity(); $otherEntity->save(); $otherRelatedEntities = []; for ($i = 1; $i <= $countTotal; ++$i) { $relatedEntity = new M2mRelatedEntity(); $entity->relatedEntities()->save($relatedEntity); $relatedEntities[$i] = $relatedEntity; $otherRelatedEntity = new M2mRelatedEntity(); $otherEntity->relatedEntities()->save($otherRelatedEntity); $otherRelatedEntities[$i] = $otherRelatedEntity; } $moveEntity = $entity->relatedEntities()->find($relatedEntities[$entityId]->id); $relyEntity = $entity->relatedEntities()->find($relatedEntities[$relativeEntityId]->id); $entity->relatedEntities()->moveBefore($moveEntity, $relyEntity); for ($id = 1; $id <= $countTotal; ++$id) { $relatedEntity = $otherEntity->relatedEntities()->find($otherRelatedEntities[$id]->id); $this->assertEquals($id, $relatedEntity->pivot->m2m_related_entity_position); } }