83 lines
2.2 KiB
JavaScript
83 lines
2.2 KiB
JavaScript
var parseWindshaftErrors = require('../../../src/windshaft/error-parser');
|
|
|
|
describe('error-parser', function () {
|
|
function testErrorsWithContext (response) {
|
|
var parsedErrors = parseWindshaftErrors(response);
|
|
|
|
expect(parsedErrors.length).toBe(1);
|
|
expect(parsedErrors[0].message).toEqual('Your princess is in another castle');
|
|
expect(parsedErrors[0].layerId).toEqual('6675c6a3-8c57-4033-9fba-072215565521');
|
|
}
|
|
|
|
function testErrors (response) {
|
|
var parsedErrors = parseWindshaftErrors(response);
|
|
|
|
expect(parsedErrors.length).toBe(1);
|
|
expect(parsedErrors[0].message).toEqual('You must defeat Sheng Long to stand a chance.');
|
|
}
|
|
|
|
var errorsWithContext = [{
|
|
type: 'layer',
|
|
message: 'Your princess is in another castle',
|
|
layer: {
|
|
id: '6675c6a3-8c57-4033-9fba-072215565521'
|
|
}
|
|
}];
|
|
|
|
var errors = [
|
|
'You must defeat Sheng Long to stand a chance.',
|
|
'You did quite well, but you need more training to defeat me!'
|
|
];
|
|
|
|
it('should return errors with context if available inside a responseJSON object', function () {
|
|
var response = {
|
|
responseJSON: {
|
|
errors_with_context: errorsWithContext,
|
|
errors: errors
|
|
}
|
|
};
|
|
|
|
testErrorsWithContext(response);
|
|
});
|
|
|
|
it('should return one simple error if no one with context is available inside a responseJSON object', function () {
|
|
var response = {
|
|
responseJSON: {
|
|
errors: errors
|
|
}
|
|
};
|
|
|
|
testErrors(response);
|
|
});
|
|
|
|
it('should return errors with context if available', function () {
|
|
var response = {
|
|
errors_with_context: errorsWithContext,
|
|
errors: errors
|
|
};
|
|
|
|
testErrorsWithContext(response);
|
|
});
|
|
|
|
it('should return one simple error if no one with context is available', function () {
|
|
var response = {
|
|
errors: errors
|
|
};
|
|
|
|
testErrors(response);
|
|
});
|
|
|
|
it('should pass the error object if it is not a string', function () {
|
|
var response = {
|
|
errors: [{
|
|
message: 'You must defeat Sheng Long to stand a chance.'
|
|
}]
|
|
};
|
|
|
|
var parsedErrors = parseWindshaftErrors(response);
|
|
|
|
expect(parsedErrors.length).toBe(1);
|
|
expect(parsedErrors[0].message).toEqual('You must defeat Sheng Long to stand a chance.');
|
|
});
|
|
});
|