Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0.00% |
0 / 1 |
|
66.67% |
2 / 3 |
CRAP | |
83.33% |
25 / 30 |
DigitalV2Provider | |
0.00% |
0 / 1 |
|
66.67% |
2 / 3 |
4.07 | |
83.33% |
25 / 30 |
fake | |
100.00% |
1 / 1 |
2 | |
100.00% |
5 / 5 |
|||
call | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 5 |
|||
fakeOne | |
100.00% |
1 / 1 |
1 | |
100.00% |
20 / 20 |
1 | <?php |
2 | |
3 | namespace Qmp\Laravel\SiteGeneratorSponsors\Retriever; |
4 | |
5 | use Faker\Generator as Faker; |
6 | use GuzzleHttp\Client; |
7 | use Illuminate\Support\Collection; |
8 | |
9 | class 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 | } |