• Как подключиться в БД postgresql через докер?

    @Erimax Автор вопроса
    Получился, сделал так.

    postgres:
        image: postgres
        restart: unless-stopped
        tty: true
        environment:
          POSTGRES_USER: root
          POSTGRES_PASSWORD: root
          POSTGRES_DB: data
        ports:
          - "5432:5432"
        volumes:
          - ./docker/postgres:/var/lib/postgresql/data
        networks:
          - laravel


    DB_CONNECTION=pgsql
    DB_HOST=postgres
    DB_PORT=5432
    DB_DATABASE=data
    DB_USERNAME=root
    DB_PASSWORD=root
    Ответ написан
    2 комментария
  • Как поставить instance класса в мок тестах?

    @Erimax Автор вопроса
    Решил так

    6225ff31923f4867639853.png

    <?php
    
    namespace App\Tests;
    
    use ApiPlatform\Core\Bridge\Symfony\Bundle\Test\ApiTestCase;
    use App\Service\DaDataService;
    use Mockery;
    
    class ApiTest extends ApiTestCase
    {
        public function testDaDataRequest(): void
        {
            $client = static::createClient();
    /*        $mock = $this->getMockBuilder(DaDataService::class)
                ->disableOriginalConstructor()
                ->getMock();
    
            $mock->expects($this->once())
                ->method('getDaData')
                ->willReturn(20);*/
    
            $mock = Mockery::mock(DaDataService::class);
    
            $mock->shouldReceive('getDaData')
                ->zeroOrMoreTimes()
                ->andReturn(7);
    
            $client->getContainer()->set(DaDataService::class, $mock);
            $response = $client->request('GET', '/test');
    
            $content = json_decode($response->getContent(), true);
    
            self::assertEquals(7, $content['returnTest']);
            self::assertResponseIsSuccessful();
        }
    }
    Ответ написан
    Комментировать