Commit a5d3626c authored by Tom JORQUERA's avatar Tom JORQUERA
Browse files

Merge branch 'hublot-sbenhamiche#33' into 'master'

Hublot sbenhamiche#33

Closes #33

See merge request !35
parents e5bc8b81 31f2d370
Pipeline #4190 passed with stage
in 37 seconds
...@@ -21,14 +21,18 @@ ...@@ -21,14 +21,18 @@
'use strict'; 'use strict';
/* global robotLib:true XMLHttpRequest */ /* global robotLib:true XMLHttpRequest */
/* exported robotController */
robotLib.archive = function (config) { robotLib.archive = function (config) {
return { return {
store(transcript) { store(transcript) {
const xmlhttp = new XMLHttpRequest(); if (transcript === undefined) {
xmlhttp.open('POST', config.archive + '/json-handler'); return false;
xmlhttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8'); }
xmlhttp.send(JSON.stringify(transcript)); const xhttp = new XMLHttpRequest();
xhttp.open('POST', config.archive);
xhttp.setRequestHeader('Content-Type', 'application/json');
xhttp.send(JSON.stringify(transcript));
return true;
} }
}; };
}; };
...@@ -20,16 +20,56 @@ ...@@ -20,16 +20,56 @@
'use strict'; 'use strict';
describe('client/lib/stt', () => { const robotLib = {};
const xmlHttpRequestMockFactory = () => ({
open: jest.fn().mockImplementation(() => ({})),
setRequestHeader: () => {},
send: jest.fn().mockImplementation(() => {
return {};
})
});
const config = {
archive: 'http://openpaasstore.test'
};
let XMLHttpRequestMock;
describe('client/lib/archive', () => {
beforeEach(() => { beforeEach(() => {
global.robotLib = {}; XMLHttpRequestMock = xmlHttpRequestMockFactory();
global.robotLib = robotLib;
global.XMLHttpRequest = function () {
return XMLHttpRequestMock;
};
/* eslint-disable import/no-unassigned-import */ /* eslint-disable import/no-unassigned-import */
require('./archive.js'); require('./archive.js');
/* eslint-enable */ /* eslint-enable */
global.archive = global.robotLib.archive(config);
}); });
test('should define robotLib.archive', () => { test('should define robotLib.archive', () => {
expect(global.robotLib.archive).toBeDefined(); expect(global.robotLib.archive).toBeDefined();
}); });
test('should make correct REST call on store', () => {
const transcript = {};
global.archive.store(transcript);
expect(XMLHttpRequestMock.open).toHaveBeenCalledWith('POST', config.archive);
expect(XMLHttpRequestMock.send).toHaveBeenCalled();
});
test('should make a REST call with valid transcript', () => {
const transcript = {};
global.archive.store(transcript);
expect(XMLHttpRequestMock.send).toHaveBeenCalledWith(JSON.stringify(transcript));
});
test('should not make a REST call without transcript', () => {
const transcript = undefined;
global.archive.store(transcript);
expect(XMLHttpRequestMock.send).not.toHaveBeenCalled();
});
}); });
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
"https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.1.4/sockjs.min.js", "https://cdnjs.cloudflare.com/ajax/libs/sockjs-client/1.1.4/sockjs.min.js",
"https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js" "https://cdnjs.cloudflare.com/ajax/libs/stomp.js/2.3.3/stomp.min.js"
], ],
"archive": "http://localhost:8080/api", "archive": "http://localhost:8080/api/summary",
"reco": { "reco": {
"host": "recommender", "host": "recommender",
"port": 8080, "port": 8080,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment