Code Duplication    Length = 39-39 lines in 2 locations

Tests/Units/QueryRepositoryTestCase.php 1 location

@@ 155-193 (lines=39) @@
152
    /**
153
     * Test persist.
154
     */
155
    public function testPersist()
156
    {
157
        $this
158
            ->given($repository = $this->randomRepository())
159
            ->and($unique = $this->uniqueValue())
160
            ->then()
161
                ->variable($repository->get($unique->id()))
162
                    ->isNull()
163
            ->and()
164
            ->when($repository->persist($unique))
165
            ->then()
166
                ->object($repository->get($unique->id()))
167
                    ->isEqualTo($unique)
168
        ;
169
170
        $this
171
            ->given($repository = $this->randomRepository())
172
            ->given($id = UserId::next())
173
            ->then()
174
                ->exception(function () use ($repository, $id) {
175
                    $repository->persist($id);
176
                })->isInstanceOf(\InvalidArgumentException::class)
177
        ;
178
179
        $this
180
            ->given($repository = $this->emptyRepository())
181
            ->and($value = $this->randomValue())
182
            ->and($age = $value->age())
183
            ->when(function () use ($repository, $value, $age) {
184
                $repository->persist($value);
185
                $value->setAge($age + 1);
186
                $repository->persist($value);
187
            })
188
            ->then()
189
                ->object($other = $repository->findOne(Criteria::property('id')->eq($value->id())))
190
                    ->integer($other->age())
191
                        ->isEqualTo($age + 1)
192
        ;
193
    }
194
195
    /**
196
     * Test persistAll.

Tests/Units/RepositoryTestCase.php 1 location

@@ 154-192 (lines=39) @@
151
    /**
152
     * Test persist.
153
     */
154
    public function testPersist()
155
    {
156
        $this
157
            ->given($repository = $this->randomRepository())
158
            ->and($unique = $this->uniqueValue())
159
            ->then()
160
                ->variable($repository->get($unique->id()))
161
                    ->isNull()
162
            ->and()
163
            ->when($repository->persist($unique))
164
            ->then()
165
                ->object($repository->get($unique->id()))
166
                    ->isEqualTo($unique)
167
        ;
168
169
        $this
170
            ->given($repository = $this->randomRepository())
171
            ->given($id = UserId::next())
172
            ->then()
173
                ->exception(function () use ($repository, $id) {
174
                    $repository->persist($id);
175
                })->isInstanceOf(\InvalidArgumentException::class)
176
        ;
177
178
        $this
179
            ->given($repository = $this->emptyRepository())
180
            ->and($value = $this->randomValue())
181
            ->and($age = $value->age())
182
            ->when(function () use ($repository, $value, $age) {
183
                $repository->persist($value);
184
                $value->setAge($age + 1);
185
                $repository->persist($value);
186
            })
187
            ->then()
188
                ->object($other = $repository->get($value->id()))
189
                    ->integer($other->age())
190
                        ->isEqualTo($age + 1)
191
        ;
192
    }
193
194
    /**
195
     * Test persistAll.