@ovotech/genesys-web-messaging-tester
TypeScript icon, indicating that this package has built-in type declarations

2.0.7 • Public • Published

Genesys Web Messaging Tester

npm

Easily write automated, and repeatable tests for Genesys' Web Messenger flows. The library provides a simple API for interacting with conversations, allowing you to send messages and set expectations on replies. It has been designed to run in test frameworks (e.g. Jest) and standalone scripts.

Documentation

const session = new WebMessengerGuestSession({
  deploymentId: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
  region: 'xxxx.pure.cloud',
});

const convo = new Conversation(session);
await convo.waitForConversationToStart();

await convo.sendText('hi');

await convo.waitForResponseContaining('Please enter your account number');

await convo.sendText('123');

await convo.waitForResponseContaining('Your account number is too short. It is the 6 digit number on your bills');

Getting Started

Install using npm:

npm install -g @ovotech/genesys-web-messaging-tester

Then write a test. In the example below we test the validation of an account number:

examples/api/src/js-script.js:(test-section)

const WebMsgTester = require('@ovotech/genesys-web-messaging-tester');

(async () => {
  const session = new WebMsgTester.WebMessengerGuestSession({
    deploymentId: process.env.DEPLOYMENT_ID,
    region: process.env.REGION,
  });

  const convo = new WebMsgTester.Conversation(session);
  await convo.waitForConversationToStart();

  await convo.sendText('hi');

  await convo.waitForResponseWithTextContaining(
    'Can we ask you some questions about your experience today?',
  );

  await convo.sendText('Yes');

  await convo.waitForResponseWithTextMatchingPattern(/Thank you! Now for the next question[.]+/im, {
    timeoutInSeconds: 10,
  });

  session.close();
})().catch((e) => {
  throw e;
});

Finally, run the test by executing the script:

node examples/api/src/js-script.js

Debugging

Messages sent between the client and Genesys' server can be output by setting the environment variable:

DEBUG=WebMessengerGuestSession

Package Sidebar

Install

npm i @ovotech/genesys-web-messaging-tester

Weekly Downloads

37

Version

2.0.7

License

Apache-2.0

Unpacked Size

53.5 kB

Total Files

28

Last publish

Collaborators

  • ovox
  • oep-accounts-bot
  • ovo.backstage.admins
  • bookings-team
  • orion-bot
  • bizval-bot
  • oeptariffs
  • props
  • metering-reads-health-bot
  • ovotech-identity
  • paceteamkaluza
  • trading-and-dispatch
  • retail-payg-tech
  • accrecovo
  • ovo.trading.tech
  • qe-team
  • ovotech-smart-thermostat
  • rise-team
  • engagement-insights
  • myovo-self-serve-service-account
  • mars-rover
  • ape-team
  • kaluza-devex
  • ohs-aurora
  • kaluza-rnr
  • ipa-bot
  • kawbot
  • data.discovery.ovo
  • ovotech-sg
  • ovotech-qs
  • ovoenergyapps
  • homemoves
  • ovo-oot-bot
  • cp-ui-tooling
  • ovo-bit-tech
  • sir_hiss