Кодецепция работает правильно?

Пришлось писать функциональный септ в codeception. Он просто создает 2 разговора и нажимает кнопку удаления на одном из них и проверяет, был ли удален правильный разговор. Я написал тест, чтобы убедиться, что все работает правильно, но это не так. Логика теста следующая:

  1. Вход пользователя
  2. Пользователь отправляет 2 сообщения разным пользователям (будет создано 2 диалога).
  3. Пользователь нажимает кнопку «Удалить беседу» на одном из них.
  4. Пользователь проверяет, был ли удален нужный разговор.

<?php 
$I = new FunctionalTester($scenario);
$I->am('a user');
$I->wantTo('delete existing conversation');

$user = $I->signIn();

$I->sendMessage('other', 'some random message');
$I->sendMessage('AnotherUser', 'other random message');

dd($user->conversations->count());

$I->click('Delete conversation');

$I->seeCurrentUrlEquals('/inbox');
$I->dontSee('other random message');
$I->see('some random message');

Но проблема в том, что количество разговоров пользователя всегда равно 1. Независимо от того, сколько сообщений я отправил новым пользователям, dd($user->conversations->count()) всегда равно 1. Но сообщение было отправлено (однако, чтобы отправить сообщение, вы должны создать разговор). Я не знаю, как это возможно? Я написал интеграционный тест, чтобы проверить, правильно ли работает функция, которая создает диалог. И это. Я не знаю, как проверить логику приложения.


person Alvin Mahmudov    schedule 07.10.2014    source источник


Ответы (1)


Перед выполнением dd($user->conversations->count()); вам нужно будет выполнить какой-то метод waitForElementVisible, кажется, что предыдущие действия не были завершены полностью.

person ermacmkx    schedule 23.08.2017