Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
66.67% covered (warning)
66.67%
2 / 3
CRAP
83.33% covered (success)
83.33%
25 / 30
DigitalV2Provider
0.00% covered (danger)
0.00%
0 / 1
66.67% covered (warning)
66.67%
2 / 3
4.07
83.33% covered (success)
83.33%
25 / 30
 fake
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
5 / 5
 call
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 5
 fakeOne
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
20 / 20
1<?php
2
3namespace Qmp\Laravel\SiteGeneratorSponsors\Retriever;
4
5use Faker\Generator as Faker;
6use GuzzleHttp\Client;
7use Illuminate\Support\Collection;
8
9class DigitalV2Provider extends AbstractProvider
10{
11    protected function fake(): Collection
12    {
13
14        $random = random_int(5, 15);
15        $result = collect();
16
17        for($i = 0; $i < $random; $i++) {
18            $result->push($this->fakeOne());
19        }
20
21        return $result;
22    }
23
24    protected function call(): Collection
25    {
26        $client = new Client();
27        $request = $client->get(config('site-generator.digitalv2_url') . '/site-generator/sponsor?token=' . config('site-generator.digitalv2_token'));
28        $response = $request->getBody();
29
30        $sponsors = json_decode($response, true);
31
32        return collect($sponsors);
33    }
34
35    protected function fakeOne()
36    {
37        $faker = resolve(Faker::class);
38
39        $campaign = $faker->company;
40        $offer = 'sponsor ' . $campaign . ' 1912';
41        $offer_id = $faker->unique()->numberBetween(2000, 2015);
42
43        return [
44            'id' => $offer_id,
45            'text' => $campaign,
46            'logo' => 'https://via.placeholder.com/120x60?text=' . $campaign,
47            'status' => $faker->randomElement([0, 1]),
48            'e_cpm' => $faker->randomFloat(2,1,20),
49            'digitalv2' => [
50                'id_campaign' => $faker->unique()->numberBetween(1, 1000),
51                'id_slot' => $faker->numberBetween(1, 42),
52                'campaign' => $campaign,
53                'id_offer' => $offer_id,
54                'name' => $offer,
55                'id_offer_copy_ws' => 0,
56                'id_type_module' => 3,
57                'image_url' => 'https://via.placeholder.com/120x60?text=' . $campaign,
58                'status'=> $faker->randomElement([1, 2]),
59                'last_offer_id' => $faker->unique()->numberBetween(5100, 5900),
60                'last_offer_status' => $faker->randomElement([1, 2])
61            ]
62        ];
63    }
64}