assertDatabase не может сказать "Таблица пуста" - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь утверждать, что в базе данных есть запись, но она не работает, и я не знаю, как решить проблему

Мой код:

class ControlTransferRejectTest extends TestCase
{
    use RefreshDatabase;

    private const TO_USER_ID = 'to_user_id';
    private const FROM_USER_ID = 'from_user_id';
    private const TC_SITE_ID = 'tc_site_id';
    private const CONTROL_TYPE = 'type';
    private const ROUTE_STORE = 'controltransfers.store';

    public function setUp()
    {
        parent::setUp();

        // spin up 16 sites to support control transfer
        $this->sites = create('App\Site', [], 16);

        // spin up 107 users to support control transfer
        $this->users = create('App\User', [], 107);
    }

    /** @test */
    public function authenticated_user_with_pending_control_transfer_rejects()
    {
        // ARRANGE test preconditions
        $postArray = [
            self::TO_USER_ID => $this->users[0]->id,
            self::TC_SITE_ID => $this->sites[0]->id,
            self::CONTROL_TYPE => 'Transfer'
        ];

        $response = $this->post(route(self::ROUTE_STORE), $postArray);

        $this->assertDatabaseHas('control_transfers', [
            self::TO_USER_ID => $this->users[0]->id,
            parent::SITE_ID =>  $this->sites[0]->id,
            self::FROM_USER_ID => $this->users[1]->id,
            self::CONTROL_TYPE => 'Transfer',
            'outcome' => NULL,
            'pending' => True
        ]);


        // ACT on the items under test

        // ASSERT that the expected results have occurred

    }
}

Но когда я пытаюсь выполнить тест, он говорит

Таблица пуста продавец / Laravel / рамки / SRC / Осветите / Foundation / Тестирование / вопросы / InteractsWithDatabase.php: 22 * ​​1009 *

Мой сценарий использования: я вызываю функцию контроллера, которая создает записи в двух разных таблицах.

Я пытаюсь проверить в одной таблице, но это не удается из-за ошибки выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...