This addon simply inject Intercom.io's script at runtime and gives you a nice interface for interaction with the script via intercom service.
ember install ember-intercom-apiYou need to provide appId for Intercom's script:
// config/environment.js
ENV['ember-intercom-api'] = {
appId: '[YOUR_APP_ID]'
};Please remember that you can make use of environment variable available in config/enviroment.
This way you can set testing appId for your development or staging environment:
module.exports = function(environment) {
var ENV = {
//some stuff here
};
if (environment === 'staging' || environment === 'development') {
ENV['ember-intercom-api'] = {
appId: '[YOUR_TESTING_APP_ID]'
};
}
}Example:
import { inject as service } from '@ember/service';
import Route from '@ember/routing/route';
export default Route.extend({
intercom: service(),
beforeModel() {
this.get('intercom').boot();
}
});These methods are exposed via intercom service and invoked on the Intercom script. Read The Intercom JavaScript API for more information.
.boot(intercomSettings)-intercomSettingsparam is optional. If not given thenapp_idprovided inconfig/environment.jswill be used.getVisitorId().hide().show().showMessages().showNewMessage(text)-textparam is optional.shutdown().trackEvent(eventName, params).update(params)
You would rather like to avoid injecting Intercom's script to your Acceptance Tests and send the data.
This could be done by just not adding ember-intercom-api options to ENV variable:
module.exports = function(environment) {
var ENV = {
//some stuff here
};
if (environment !== 'test') {
ENV['ember-intercom-api'] = {
appId: '[YOUR_APP_ID]'
};
}
}or even better (as a more comprehensive example):
module.exports = function(environment) {
var ENV = {
//some stuff here
};
switch(environment) {
case 'production':
ENV['ember-intercom-api'] = {
appId: '[YOUR_APP_ID]'
};
break;
case 'staging':
case 'development':
ENV['ember-intercom-api'] = {
appId: '[YOUR_TESTING_APP_ID]'
};
break;
default:
break;
}
}npm run lint:jsnpm run lint:js -- --fix
ember test– Runs the test suite on the current Ember versionember test --server– Runs the test suite in "watch mode"ember try:each– Runs the test suite against multiple Ember versions
ember serve- Visit the dummy application at http://localhost:4200.
For more information on using ember-cli, visit https://ember-cli.com/.
This project is licensed under the MIT License.