You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
2.2 KiB
45 lines
2.2 KiB
require('chai').should()
|
|
describe('CustomerListFromURL', function () {
|
|
let customerListFromURL
|
|
|
|
it('getList should correctly parse the input', async function () {
|
|
customerListFromURL = new (require('./CustomerListFromURL.js'))('')
|
|
// We mock the actual fetching of data.
|
|
customerListFromURL._fetch = () => Promise.resolve(`
|
|
{"latitude": "52.986375", "user_id": 12, "name": "Christina McArdle", "longitude": "-6.043701"}
|
|
{"latitude": "51.92893", "user_id": 1, "name": "Alice Cahill", "longitude": "-10.27699"}
|
|
{"latitude": "51.8856167", "user_id": 2, "name": "Ian McArdle", "longitude": "-10.4240951"}
|
|
{"latitude": "52.3191841", "user_id": 3, "name": "Jack Enright", "longitude": "-8.5072391"}
|
|
`)
|
|
|
|
const result = await customerListFromURL.getList()
|
|
result.should.be.an('array')
|
|
result.should.be.have.lengthOf(4)
|
|
result.should.have.deep.members([
|
|
{latitude: '52.986375', user_id: 12, name: 'Christina McArdle', longitude: '-6.043701'},
|
|
{latitude: '51.92893', user_id: 1, name: 'Alice Cahill', longitude: '-10.27699'},
|
|
{latitude: '51.8856167', user_id: 2, name: 'Ian McArdle', longitude: '-10.4240951'},
|
|
{latitude: '52.3191841', user_id: 3, name: 'Jack Enright', longitude: '-8.5072391'}
|
|
])
|
|
})
|
|
|
|
it('getList should ignore bad items', async function () {
|
|
customerListFromURL = new (require('./CustomerListFromURL.js'))('')
|
|
// We mock the actual fetching of data.
|
|
customerListFromURL._fetch = () => Promise.resolve(`
|
|
{"latitude": "52.986375", "user_id": 12, "name": "Christina McArdle", "longitude": "-6.043701"}
|
|
"latitude": "51.92893", "user_id": 1, "name": "Alice Cahill", "longitude": "-10.27699"}
|
|
{"latitude": "51.8856167", "user_id": 2, "name": "Ian McArdle", "longitude": "-10.4240951}
|
|
undefined
|
|
{"latitude": "52.3191841", "user_id": 3, "name": "Jack Enright", "longitude": "-8.5072391"}
|
|
`)
|
|
|
|
const result = await customerListFromURL.getList()
|
|
result.should.be.an('array')
|
|
result.should.be.have.lengthOf(2)
|
|
result.should.have.deep.members([
|
|
{latitude: '52.986375', user_id: 12, name: 'Christina McArdle', longitude: '-6.043701'},
|
|
{latitude: '52.3191841', user_id: 3, name: 'Jack Enright', longitude: '-8.5072391'}
|
|
])
|
|
})
|
|
})
|
|
|