Skip to content

ask() method with a string argument can't be tested with assertQuestion #52

@chimit

Description

@chimit

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions