This repository has been archived by the owner on Mar 8, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
tewksbum
committed
Aug 1, 2017
1 parent
742cd53
commit f1beb53
Showing
21 changed files
with
1,049 additions
and
103 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
# Javascript Node CircleCI 2.0 configuration file | ||
# | ||
# Check https://circleci.com/docs/2.0/language-javascript/ for more details | ||
# | ||
version: 2 | ||
jobs: | ||
build: | ||
docker: | ||
# specify the version you desire here | ||
- image: circleci/node:7.10 | ||
|
||
# Specify service dependencies here if necessary | ||
# CircleCI maintains a library of pre-built images | ||
# documented at https://circleci.com/docs/2.0/circleci-images/ | ||
# - image: circleci/mongo:3.4.4 | ||
|
||
working_directory: ~/repo | ||
|
||
steps: | ||
- checkout | ||
|
||
# Download and cache dependencies | ||
- restore_cache: | ||
keys: | ||
- v1-dependencies-{{ checksum "package.json" }} | ||
# fallback to using the latest cache if no exact match is found | ||
- v1-dependencies- | ||
|
||
- run: yarn install | ||
|
||
- save_cache: | ||
paths: | ||
- node_modules | ||
key: v1-dependencies-{{ checksum "package.json" }} | ||
|
||
# run tests! | ||
- run: yarn test |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
node_modules/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
'use strict'; | ||
|
||
var path = require('path'); | ||
|
||
module.exports = function(grunt) { | ||
|
||
grunt.initConfig({ | ||
|
||
env: { | ||
chrome: { | ||
PLATFORM: 'CHROME' | ||
}, | ||
firefox: { | ||
PLATFORM: 'FIREFOX' | ||
}, | ||
android: { | ||
PLATFORM: 'ANDROID' | ||
} | ||
}, | ||
|
||
jshint: { | ||
all: ['Gruntfile.js', 'features/step_definitions/*.js', 'features/support/*.js'], | ||
options: { | ||
node: true, | ||
strict: true, | ||
globalstrict: true, | ||
'esversion':6 | ||
} | ||
}, | ||
|
||
exec: { | ||
run_cucumber_tests: { | ||
command: 'node ' + path.join('node_modules', 'cucumber', 'bin', 'cucumber.js -f pretty -t @for_testing') | ||
} | ||
} | ||
|
||
}); | ||
|
||
grunt.loadNpmTasks('grunt-contrib-jshint'); | ||
grunt.loadNpmTasks('grunt-exec'); | ||
grunt.loadNpmTasks('grunt-env'); | ||
|
||
grunt.registerTask('default', ['jshint', 'exec']); | ||
grunt.registerTask('chrome', ['env:chrome', 'jshint', 'exec']); | ||
grunt.registerTask('firefox', ['env:firefox', 'jshint', 'exec']); | ||
|
||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
exports.BASE_URL="https://api.utu.ai/v1/"; | ||
exports.TEST_TYPE="REST"; |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,216 @@ | ||
Running "jshint:all" (jshint) task | ||
>> 1 file lint free. | ||
|
||
Running "exec:run_cucumber_tests" (exec) task | ||
[36m@dialog @receive_message[39m | ||
Feature: new message | ||
|
||
All valid messages | ||
should be captured in their raw form | ||
persisted | ||
and then denorm'd to all related services | ||
|
||
Why: | ||
- we can run sentiment models on user's text to evaluate their state of mind | ||
- in the future, we will likely get in the intent business ourselves. having the raw data will be useful. | ||
- in any consumer analytics environment, hold on to ALL the data you can, for as LONG as you can. | ||
|
||
Rules: | ||
- the inbound message must containt a bot key (which kong decodes to org and botId) as well as p/pId | ||
|
||
[36m@for_testing @acceptance @valid_message_received @for_testing[39m | ||
Scenario: Received valid message from existing user for active dialog | ||
[32mGiven there are Identity records as follows:[39m | ||
| [32midentityKey [39m | | ||
| [32mTIN_RECORD [39m | | ||
| [32mBRONZE_RECORD[39m | | ||
| [32mGOLD_RECORD [39m | | ||
[33mWhen a valid new message is received for an existing user who is actively dialoging[39m | ||
[33mThen save the Message[39m | ||
[33mAnd update Dialog with Message[39m | ||
[33mAnd update Identity with Message[39m | ||
[33mAnd create a summarized Event for Message[39m | ||
|
||
[36m@acceptance @valid_message_received @for_testing[39m | ||
Scenario: Received valid message from existing user for new dialog | ||
[32mGiven there are Identity records as follows:[39m | ||
| [32midentityKey [39m | | ||
| [32mTIN_RECORD [39m | | ||
| [32mBRONZE_RECORD[39m | | ||
| [32mGOLD_RECORD [39m | | ||
[33mWhen a valid new message is received for an existing user starting a new dialog[39m | ||
[33mThen save the Message[39m | ||
[33mAnd update Dialog with Message[39m | ||
[33mAnd update Identity with Message[39m | ||
[33mAnd create a summarized Event for Message[39m | ||
|
||
[36m@acceptance @valid_message_received @for_testing[39m | ||
Scenario: Received valid message from new user | ||
[32mGiven there are Identity records as follows:[39m | ||
| [32midentityKey [39m | | ||
| [32mTIN_RECORD [39m | | ||
| [32mBRONZE_RECORD[39m | | ||
| [32mGOLD_RECORD [39m | | ||
[33mWhen a valid new message is received from a new user[39m | ||
[33mThen save the Message[39m | ||
[33mAnd update Dialog with Message[39m | ||
[33mAnd update Identity with Message[39m | ||
[33mAnd create a summarized Event for Message[39m | ||
|
||
Warnings: | ||
|
||
1) Scenario: [1mReceived valid message from existing user for active dialog[22m - [90mfeatures/dialog/post_message.feature:28[39m | ||
Step: [1mWhen a valid new message is received for an existing user who is actively dialoging[22m - [90mfeatures/dialog/post_message.feature:29[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.When(/^a valid new message is received for an existing user who is actively dialoging$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
2) Scenario: [1mReceived valid message from existing user for active dialog[22m - [90mfeatures/dialog/post_message.feature:28[39m | ||
Step: [1mThen save the Message[22m - [90mfeatures/dialog/post_message.feature:30[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^save the Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
3) Scenario: [1mReceived valid message from existing user for active dialog[22m - [90mfeatures/dialog/post_message.feature:28[39m | ||
Step: [1mAnd update Dialog with Message[22m - [90mfeatures/dialog/post_message.feature:31[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^update Dialog with Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
4) Scenario: [1mReceived valid message from existing user for active dialog[22m - [90mfeatures/dialog/post_message.feature:28[39m | ||
Step: [1mAnd update Identity with Message[22m - [90mfeatures/dialog/post_message.feature:32[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^update Identity with Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
5) Scenario: [1mReceived valid message from existing user for active dialog[22m - [90mfeatures/dialog/post_message.feature:28[39m | ||
Step: [1mAnd create a summarized Event for Message[22m - [90mfeatures/dialog/post_message.feature:33[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^create a summarized Event for Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
6) Scenario: [1mReceived valid message from existing user for new dialog[22m - [90mfeatures/dialog/post_message.feature:36[39m | ||
Step: [1mWhen a valid new message is received for an existing user starting a new dialog[22m - [90mfeatures/dialog/post_message.feature:37[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.When(/^a valid new message is received for an existing user starting a new dialog$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
7) Scenario: [1mReceived valid message from existing user for new dialog[22m - [90mfeatures/dialog/post_message.feature:36[39m | ||
Step: [1mThen save the Message[22m - [90mfeatures/dialog/post_message.feature:38[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^save the Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
8) Scenario: [1mReceived valid message from existing user for new dialog[22m - [90mfeatures/dialog/post_message.feature:36[39m | ||
Step: [1mAnd update Dialog with Message[22m - [90mfeatures/dialog/post_message.feature:39[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^update Dialog with Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
9) Scenario: [1mReceived valid message from existing user for new dialog[22m - [90mfeatures/dialog/post_message.feature:36[39m | ||
Step: [1mAnd update Identity with Message[22m - [90mfeatures/dialog/post_message.feature:40[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^update Identity with Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
10) Scenario: [1mReceived valid message from existing user for new dialog[22m - [90mfeatures/dialog/post_message.feature:36[39m | ||
Step: [1mAnd create a summarized Event for Message[22m - [90mfeatures/dialog/post_message.feature:41[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^create a summarized Event for Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
11) Scenario: [1mReceived valid message from new user[22m - [90mfeatures/dialog/post_message.feature:44[39m | ||
Step: [1mWhen a valid new message is received from a new user[22m - [90mfeatures/dialog/post_message.feature:45[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.When(/^a valid new message is received from a new user$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
12) Scenario: [1mReceived valid message from new user[22m - [90mfeatures/dialog/post_message.feature:44[39m | ||
Step: [1mThen save the Message[22m - [90mfeatures/dialog/post_message.feature:46[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^save the Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
13) Scenario: [1mReceived valid message from new user[22m - [90mfeatures/dialog/post_message.feature:44[39m | ||
Step: [1mAnd update Dialog with Message[22m - [90mfeatures/dialog/post_message.feature:47[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^update Dialog with Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
14) Scenario: [1mReceived valid message from new user[22m - [90mfeatures/dialog/post_message.feature:44[39m | ||
Step: [1mAnd update Identity with Message[22m - [90mfeatures/dialog/post_message.feature:48[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^update Identity with Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
15) Scenario: [1mReceived valid message from new user[22m - [90mfeatures/dialog/post_message.feature:44[39m | ||
Step: [1mAnd create a summarized Event for Message[22m - [90mfeatures/dialog/post_message.feature:49[39m | ||
Message: | ||
[33mUndefined. Implement with the following snippet: | ||
|
||
this.Then(/^create a summarized Event for Message$/, function (callback) { | ||
// Write code here that turns the phrase above into concrete actions | ||
callback(null, 'pending'); | ||
});[39m | ||
|
||
3 scenarios ([33m3 undefined[39m) | ||
18 steps ([33m15 undefined[39m, [32m3 passed[39m) | ||
0m00.003s | ||
|
||
Done. |
Oops, something went wrong.