botium-core
Version:
The Selenium for Chatbots
44 lines (40 loc) • 1.52 kB
JavaScript
const BotDriver = require('../../../../index').BotDriver
const Capabilities = require('../../../../index').Capabilities
const Source = require('../../../../index').Source
function assert (expected, actual) {
if (actual.indexOf(expected) < 0) {
console.log(`ERROR: Expected <${expected}>, got <${actual}>`)
} else {
console.log(`SUCCESS: Got Expected <${expected}>`)
}
}
const driver = new BotDriver()
.setCapability(Capabilities.PROJECTNAME, 'Botium Facebook Sample 1')
.setCapability(Capabilities.CONTAINERMODE, 'docker')
.setCapability(Capabilities.FACEBOOK_API, true)
.setCapability(Capabilities.FACEBOOK_WEBHOOK_PORT, 5000)
.setCapability(Capabilities.FACEBOOK_WEBHOOK_PATH, 'webhook')
.setCapability(Capabilities.BOT_HEALTH_STATUS, 201)
.setCapability(Capabilities.BOT_HEALTH_CHECK_PATH, 'health')
.setCapability(Capabilities.BOT_HEALTH_CHECK_VERB, 'GET')
.setCapability(Capabilities.CLEANUPTEMPDIR, false)
.setSource(Source.LOCALPATH, '.')
.setCapability(Capabilities.STARTCMD, 'npm install && node index.js')
.setEnv('NODE_TLS_REJECT_UNAUTHORIZED', 0)
.setEnv('NODE_ENV', 'dev')
driver.BuildFluent()
.Start()
.UserSaysText('hallo!')
.WaitBotSaysText((text) => assert('Text received, echo: hallo!', text))
.Restart()
.UserSaysText('Generic')
.WaitBotSays((botMsg) => assert('First card', JSON.stringify(botMsg.sourceData)))
.Stop()
.Clean()
.Exec()
.then(() => {
console.log('READY')
})
.catch((err) => {
console.log('ERROR: ', err)
})