When you run all the tests together, the Proactive tests ends up sending a proactive message to all the active conversations and causes test to randomly fail.
The bot's response was different than expected. The assertion: "text == 'Done with "WaterfallSkillBot".
What skill would you like to call?'" was evaluated as false.
Expected Activity:
{
"type": "message",
"role": "bot",
"text": "Done with \"WaterfallSkillBot\". \n\n What skill would you like to call?",
"assertions": [
"type == 'message'",
"from.role == 'bot'",
"recipient.role == 'user'",
"text == 'Done with \"WaterfallSkillBot\". \n\n What skill would you like to call?'",
"speak == 'Done with \"WaterfallSkillBot\". \n\n What skill would you like to call?'",
"inputHint == 'expectingInput'",
"suggestedActions.actions[0].type == 'imBack'",
"suggestedActions.actions[0].title == 'EchoSkillBot'",
"suggestedActions.actions[0].value == 'EchoSkillBot'",
"suggestedActions.actions[1].type == 'imBack'",
"suggestedActions.actions[1].title == 'WaterfallSkillBot'",
"suggestedActions.actions[1].value == 'WaterfallSkillBot'"
]
}
Actual Activity:
{
"type": "message",
"id": "IuifW5CT2QGLsOH0A8LYGs-6|0000010",
"timestamp": "2021-01-25T07:36:34.0490657+00:00",
"localTimestamp": null,
"localTimezone": null,
"serviceUrl": null,
"channelId": "directline",
"from": {
"id": "GGWaterfallHostBotDotNet",
"name": "GGWaterfallHostBotDotNet",
"aadObjectId": null,
"role": "bot"
},
"conversation": {
"isGroup": null,
"conversationType": null,
"id": "IuifW5CT2QGLsOH0A8LYGs-6",
"name": null,
"aadObjectId": null,
"role": null,
"tenantId": null
},
"recipient": {
"id": null,
"name": null,
"aadObjectId": null,
"role": "user"
},
"textFormat": null,
"attachmentLayout": null,
"membersAdded": null,
"membersRemoved": null,
"reactionsAdded": null,
"reactionsRemoved": null,
"topicName": null,
"historyDisclosed": null,
"locale": null,
"text": "Got proactive message with value: 6eaed445-05d4-41fd-afaa-4ecbd20f5683",
"speak": null,
"inputHint": "acceptingInput",
"summary": null,
"suggestedActions": null,
"attachments": null,
"entities": null,
"channelData": null,
"action": null,
"replyToId": "8c5e1110-8650-4029-b0a1-f62c6b3e00a7",
"label": null,
"valueType": null,
"value": null,
"name": null,
"relatesTo": null,
"code": null,
"expiration": null,
"importance": null,
"deliveryMode": null,
"listenFor": null,
"textHighlights": null,
"semanticAction": null,
"callerId": null
}
Expected: True
Actual: False
Proactive tests should only send activities to the active conversation, not all of them.