- Consolidate regexes - Use slimmer syntax where possible - Fix bug caught by failing amo tests
31 lines
999 B
JavaScript
31 lines
999 B
JavaScript
'use strict';
|
|
|
|
const Joi = require('joi');
|
|
const ServiceTester = require('./runner/service-tester');
|
|
|
|
const t = new ServiceTester({ id: 'codetally', title: 'Codetally' });
|
|
module.exports = t;
|
|
|
|
// This test will extract the currency value from the
|
|
// string value response from the server.
|
|
// \b = Asset position at word boundary
|
|
// \d+ = match a digit [0-9]
|
|
// credit for this regex goes to:
|
|
// https://stackoverflow.com/questions/38074000/how-to-get-float-value-from-string-using-regex
|
|
|
|
t.create('Codetally')
|
|
.get('/triggerman722/colorstrap.json')
|
|
.expectJSONTypes(Joi.object().keys({
|
|
name: 'codetally',
|
|
value: Joi.string().regex(/\b\d+(?:.\d+)?/)
|
|
}));
|
|
|
|
|
|
t.create('Empty')
|
|
.get('/triggerman722/colorstrap.json')
|
|
.intercept(nock => nock('http://www.codetally.com')
|
|
.get('/formattedshield/triggerman722/colorstrap')
|
|
.reply(200, { currency_sign: '$', amount: '0.00', multiplier: '', currency_abbreviation: 'CAD' })
|
|
)
|
|
.expectJSON({ name: 'codetally', value: ' $0.00 '});
|