33var assert = require ( 'assert' ) ;
44var watson = require ( '../lib/index' ) ;
55var nock = require ( 'nock' ) ;
6+ var extend = require ( 'extend' ) ;
67
78describe ( 'tradeoff_analytics' , function ( ) {
89
910 var noop = function ( ) { } ;
1011
1112 var service_request = require ( './resources/dilemma_problem' ) ;
13+ var events_request = require ( './resources/ta_events' ) ;
1214
1315 var service_response = { } ;
1416
1517 var service_path = '/v1/dilemmas' ;
16-
18+ var events_path = '/v1/events' ;
19+
1720 var service = {
1821 username : 'batman' ,
1922 password : 'bruce-wayne' ,
@@ -27,6 +30,11 @@ describe('tradeoff_analytics', function() {
2730 . persist ( )
2831 . post ( service_path , service_request )
2932 . reply ( 200 , service_response ) ;
33+ nock ( service . url )
34+ . persist ( )
35+ . post ( events_path , events_request )
36+ . reply ( 200 ) ;
37+
3038 } ) ;
3139
3240 after ( function ( ) {
@@ -43,13 +51,33 @@ describe('tradeoff_analytics', function() {
4351 tradeoff_analytics . dilemmas ( { } , missingParameter ) ;
4452 tradeoff_analytics . dilemmas ( null , missingParameter ) ;
4553 tradeoff_analytics . dilemmas ( undefined , missingParameter ) ;
54+
55+ tradeoff_analytics . events ( { } , missingParameter ) ;
56+ tradeoff_analytics . events ( null , missingParameter ) ;
57+ tradeoff_analytics . events ( undefined , missingParameter ) ;
4658 } ) ;
47-
59+
4860 it ( 'should generate a valid payload' , function ( ) {
49- var req = tradeoff_analytics . dilemmas ( service_request , noop ) ;
61+ var params = extend ( { } , service_request ) ;
62+ params . metadata_header = 'test_header_content' ;
63+ var req = tradeoff_analytics . dilemmas ( params , noop ) ;
5064 var body = new Buffer ( req . body ) . toString ( 'ascii' ) ;
5165 assert . equal ( req . uri . href , service . url + service_path ) ;
5266 assert . equal ( body , JSON . stringify ( service_request ) ) ;
67+ assert . notEqual ( body , JSON . stringify ( params ) ) ;
68+ assert . equal ( req . headers [ 'x-watson-metadata' ] , params . metadata_header ) ;
69+ assert . equal ( req . method , 'POST' ) ;
70+ } ) ;
71+
72+ it ( 'should forward the events correctly' , function ( ) {
73+ var params = extend ( { } , events_request ) ;
74+ params . metadata_header = 'test_header_content' ;
75+ var req = tradeoff_analytics . events ( params , noop ) ;
76+ var body = new Buffer ( req . body ) . toString ( 'ascii' ) ;
77+ assert . equal ( req . uri . href , service . url + events_path ) ;
78+ assert . equal ( body , JSON . stringify ( events_request ) ) ;
79+ assert . notEqual ( body , JSON . stringify ( params ) ) ;
80+ assert . equal ( req . headers [ 'x-watson-metadata' ] , params . metadata_header ) ;
5381 assert . equal ( req . method , 'POST' ) ;
5482 } ) ;
5583
0 commit comments