7
7
use Mockery \MockInterface ;
8
8
9
9
/**
10
+ * @uses \BlameButton\LaravelDockerBuilder\DockerServiceProvider::boot()
11
+ * @uses \BlameButton\LaravelDockerBuilder\Detector\FileDetector
12
+ * @uses \BlameButton\LaravelDockerBuilder\Detector\PhpVersionDetector
13
+ * @uses \BlameButton\LaravelDockerBuilder\Detector\PhpExtensionsDetector
14
+ * @uses \BlameButton\LaravelDockerBuilder\Detector\NodePackageManagerDetector
15
+ * @uses \BlameButton\LaravelDockerBuilder\Detector\NodeBuildToolDetector
16
+ * @uses package_path()
17
+ *
18
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\BaseCommand::optionalChoice
19
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\PhpVersion
20
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\PhpVersionQuestion
21
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\PhpExtensions
22
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\PhpExtensionsQuestion
23
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\ArtisanOptimizeQuestion
24
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\AlpineQuestion
25
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\NodePackageManager
26
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\NodePackageManagerQuestion
27
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\Choices\NodeBuildTool
28
+ * @covers \BlameButton\LaravelDockerBuilder\Commands\GenerateQuestions\NodeBuildToolQuestion
29
+ * @covers \BlameButton\LaravelDockerBuilder\Objects\Configuration
30
+ *
10
31
* @covers \BlameButton\LaravelDockerBuilder\Commands\DockerGenerateCommand
11
32
*/
12
33
class DockerGenerateCommandTest extends TestCase
13
34
{
14
35
public function provideCommands (): array
15
36
{
16
37
return [
17
- [
38
+ ' 8.2, pgsql, redis, optimize, alpine, npm, vite ' => [
18
39
[
19
40
"FROM php:8.2-fpm-alpine AS composer \n" ,
20
41
"FROM node:lts-alpine AS node \n" ,
@@ -28,7 +49,7 @@ public function provideCommands(): array
28
49
],
29
50
'docker:generate -n -p 8.2 -e bcmath,pdo_pgsql,redis -o -a -m npm -b vite ' ,
30
51
],
31
- [
52
+ ' 8.1, mysql, apcu, no optimize, no alpine, yarn, mix ' => [
32
53
[
33
54
"FROM php:8.1-fpm AS composer \n" ,
34
55
"FROM node:lts AS node \n" ,
@@ -50,6 +71,12 @@ public function provideCommands(): array
50
71
/** @dataProvider provideCommands */
51
72
public function testItGeneratesConfigurations (array $ expected , string $ command ): void
52
73
{
74
+ $ this ->mock (SupportedPhpExtensions::class, function (MockInterface $ mock ) {
75
+ $ mock ->shouldReceive ('fetch ' )->withAnyArgs ()->andReturn ([
76
+ 'bcmath ' , 'pdo_mysql ' , 'pdo_pgsql ' , 'redis ' , 'apcu ' ,
77
+ ]);
78
+ });
79
+
53
80
$ this ->artisan ($ command );
54
81
55
82
$ contents = file_get_contents (base_path ('.docker/php.dockerfile ' ));
0 commit comments