Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
4 / 4
CRAP
100.00% covered (success)
100.00%
1 / 1
JavascriptFileFaker
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
4 / 4
4
100.00% covered (success)
100.00%
1 / 1
 createOriginalFilename
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 createMimeType
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 isSupported
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 createResource
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2namespace Apie\Faker\FileFakers;
3
4use Apie\Faker\Interfaces\ApieFileFaker;
5use Faker\Generator;
6use Nyholm\Psr7\Stream;
7
8final class JavascriptFileFaker implements ApieFileFaker
9{
10    public function createOriginalFilename(Generator $faker): string
11    {
12        return $faker->word() . '.js';
13    }
14
15    public function createMimeType(): string
16    {
17        return 'text/javascript';
18    }
19
20    public static function isSupported(): bool
21    {
22        return class_exists(\Apie\TypescriptCodeBuilder\Dto\File::class);
23    }
24
25    /** @return resource */
26    public function createResource(Generator $faker, string $originalFilename, string $mimeType): mixed
27    {
28        $file = $faker->fakeClass(\Apie\TypescriptCodeBuilder\Dto\File::class);
29
30        return Stream::create($file->toJavascript())->detach();
31    }
32}