ask() method with a string argument can't be tested with assertQuestion
Opened this issue · 0 comments
chimit commented
If you ask a question by providing a simple string as a question the assertQuestion
fails, but assertReply
passes. So it looks like the ask()
method produces replies (BotMan\BotMan\Messages\Outgoing\OutgoingMessage
) instead of questions (BotMan\BotMan\Messages\Outgoing\Question
) if you pass strings to it.
// Conversation 1
$this->ask('How are you?', function (Answer $answer) {
// ...
});
// Test
$this->bot->assertQuestion('How are you?'); // fails
$this->bot->assertReply('How are you?'); // passes
// Conversation 2
$this->ask(Question::create('How are you?'), function (Answer $answer) {
// ...
});
// Test
$this->bot->assertQuestion('How are you?'); // passes
$this->bot->assertReply('How are you?'); // fails