Code Duplication    Length = 38-41 lines in 2 locations

spec/Users/FeesSpec.php 1 location

@@ 12-52 (lines=41) @@
9
use Scriptotek\Alma\Users\User;
10
use spec\Scriptotek\Alma\SpecHelper;
11
12
class FeesSpec extends ObjectBehavior
13
{
14
    public function let(AlmaClient $client, User $user)
15
    {
16
        $user->id = '123435';
17
        $this->beConstructedWith($client, $user);
18
    }
19
20
    public function it_is_initializable()
21
    {
22
        $this->shouldHaveType(Fees::class);
23
    }
24
25
    public function it_yields_fees(AlmaClient $client)
26
    {
27
        $client->getJSON('/users/123435/fees')
28
            ->shouldBeCalled()
29
            ->willReturn(SpecHelper::getDummyData('fees_response.json'));
30
31
        $this->total_sum->shouldBe(750);
32
33
        $this->rewind();
34
        $this->valid()->shouldBe(true);
35
        $this->current()->shouldBeAnInstanceOf(Fee::class);
36
37
        $this->shouldHaveCount(1);
38
    }
39
40
    public function it_can_be_empty(AlmaClient $client)
41
    {
42
        $client->getJSON('/users/123435/fees')
43
            ->shouldBeCalled()
44
            ->willReturn(SpecHelper::getDummyData('zero_fees_response.json'));
45
46
        $this->rewind();
47
        $this->valid()->shouldBe(false);
48
49
        $this->shouldHaveCount(0);
50
    }
51
}
52

spec/Users/LoansSpec.php 1 location

@@ 12-49 (lines=38) @@
9
use Scriptotek\Alma\Users\User;
10
use spec\Scriptotek\Alma\SpecHelper;
11
12
class LoansSpec extends ObjectBehavior
13
{
14
    public function let(AlmaClient $client, User $user)
15
    {
16
        $user->id = '123435';
17
        $this->beConstructedWith($client, $user);
18
    }
19
20
    public function it_is_initializable()
21
    {
22
        $this->shouldHaveType(Loans::class);
23
    }
24
25
    public function it_yields_loans(AlmaClient $client)
26
    {
27
        $client->getJSON('/users/123435/loans?offset=0&limit=10')
28
            ->shouldBeCalled()
29
            ->willReturn(SpecHelper::getDummyData('loans_response.json'));
30
31
        $this->rewind();
32
        $this->valid()->shouldBe(true);
33
        $this->current()->shouldBeAnInstanceOf(Loan::class);
34
35
        $this->shouldHaveCount(2);
36
    }
37
38
    public function it_can_be_empty(AlmaClient $client)
39
    {
40
        $client->getJSON('/users/123435/loans?offset=0&limit=10')
41
            ->shouldBeCalled()
42
            ->willReturn(SpecHelper::getDummyData('zero_loans_response.json'));
43
44
        $this->rewind();
45
        $this->valid()->shouldBe(false);
46
47
        $this->shouldHaveCount(0);
48
    }
49
}
50