Files
shields/service-tests/codetally.js
Paul Melnikow c3636e7549 Clean up service tests (#1127)
- Consolidate regexes
- Use slimmer syntax where possible
- Fix bug caught by failing amo tests
2017-10-09 14:41:18 -04:00

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 '});