Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
66.67% |
2 / 3 |
CRAP | |
83.87% |
26 / 31 |
| DigitalV2Provider | |
0.00% |
0 / 1 |
|
66.67% |
2 / 3 |
4.07 | |
83.87% |
26 / 31 |
| 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% |
21 / 21 |
|||
| 1 | <?php |
| 2 | |
| 3 | namespace Qmp\Laravel\SiteGeneratorOffers\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 | $random = random_int(5, 15); |
| 14 | $result = collect(); |
| 15 | |
| 16 | for ($i = 0; $i < $random; $i++) { |
| 17 | $result->push($this->fakeOne()); |
| 18 | } |
| 19 | |
| 20 | return $result; |
| 21 | } |
| 22 | |
| 23 | protected function call(): Collection |
| 24 | { |
| 25 | $client = new Client(); |
| 26 | $request = $client->get(config('site-generator.digitalv2_url') . '/site-generator/offer?token=' . config('site-generator.digitalv2_token')); |
| 27 | $response = $request->getBody(); |
| 28 | |
| 29 | $offers = json_decode($response, true); |
| 30 | |
| 31 | return collect($offers); |
| 32 | } |
| 33 | |
| 34 | protected function fakeOne() |
| 35 | { |
| 36 | $faker = resolve(Faker::class); |
| 37 | |
| 38 | $campaign = $faker->company; |
| 39 | $offer = 'Banniere ' . $campaign . ' 300x250 2001'; |
| 40 | $offer_id = $faker->unique()->numberBetween(5000, 5015); |
| 41 | |
| 42 | return [ |
| 43 | 'id' => $offer_id, |
| 44 | 'text' => $offer, |
| 45 | 'status' => 1, // $faker->randomElement([0, 1]), |
| 46 | 'e_cpm' => $faker->randomFloat(2, 1, 20), |
| 47 | 'description' => $faker->text(150), |
| 48 | 'textBtn' => $faker->words(4, true), |
| 49 | 'title' => $faker->words(5, true), |
| 50 | 'action' => $faker->randomElement(["iframe", "new_window", "clic_transmission", "submit_transmission", "redirection"]), |
| 51 | 'digitalv2' => [ |
| 52 | 'id' => $offer_id, |
| 53 | 'name' => $offer, |
| 54 | 'state' => $faker->randomElement([0, 1]), |
| 55 | 'date_create' => $faker->date() . ' ' . $faker->time(), |
| 56 | 'offer_id' => $faker->numberBetween(3000, 3015), |
| 57 | 'offer_name' => $campaign . ' display 2001', |
| 58 | 'offer_state' => $faker->randomElement([1, 2]), |
| 59 | 'ca' => 0, |
| 60 | 'total' => 0 |
| 61 | ] |
| 62 | ]; |
| 63 | } |
| 64 | } |