143 lines
4.4 KiB
JavaScript
143 lines
4.4 KiB
JavaScript
const nock = require('nock')
|
|
|
|
const gdp = {
|
|
"name": "gdp",
|
|
"title": "Country, Regional and World GDP (Gross Domestic Product)",
|
|
"notes": "Country, regional and world GDP in current US Dollars ($). Regional means collections of countries e.g. Europe & Central Asia. Data is sourced from the World Bank and turned into a standard normalized CSV.",
|
|
"resources": [
|
|
{
|
|
"name": "gdp",
|
|
"id": "gdp",
|
|
"title": "GDP data",
|
|
"format": "csv",
|
|
"created": "2019-03-07T12:00:36.273495",
|
|
"last_modified": "2020-05-07T12:00:36.273495",
|
|
"datastore_active": false,
|
|
"url": "http://mock.filestore/gdp.csv"
|
|
}
|
|
],
|
|
"organization": {
|
|
"title": "World Bank",
|
|
"name": "world-bank",
|
|
"description": "The World Bank is an international financial institution that provides loans and grants to the governments of poorer countries for the purpose of pursuing capital projects.",
|
|
"created": "2019-03-07T11:51:13.758844",
|
|
"image_url": "https://github.com/datahq/frontend/raw/master/public/img/avatars/world-bank.jpg"
|
|
},
|
|
"metadata_created": "2019-03-07T11:56:19.696257",
|
|
"metadata_modified": "2019-03-07T12:03:58.817280"
|
|
}
|
|
|
|
const population = {
|
|
"name": "population",
|
|
"title": "World population data",
|
|
"notes": "Population figures for countries, regions (e.g. Asia) and the world. Data comes originally from World Bank and has been converted into standard CSV.",
|
|
"resources": [
|
|
{
|
|
"name": "population",
|
|
"id": "population",
|
|
"title": "Population data",
|
|
"format": "csv",
|
|
"created": "2019-03-07T12:00:36.273495",
|
|
"last_modified": "2020-05-07T12:00:36.273495",
|
|
"datastore_active": true,
|
|
"url": "http://mock.filestore/population.csv"
|
|
}
|
|
],
|
|
"organization": {
|
|
"title": "World Bank",
|
|
"name": "world-bank",
|
|
"description": "The World Bank is an international financial institution that provides loans and grants to the governments of poorer countries for the purpose of pursuing capital projects.",
|
|
"created": "2019-03-07T11:51:13.758844",
|
|
"image_url": "https://github.com/datahq/frontend/raw/master/public/img/avatars/world-bank.jpg"
|
|
}
|
|
}
|
|
|
|
module.exports.initMocks = function() {
|
|
// Uncomment this line if you want to record API calls
|
|
// nock.recorder.rec()
|
|
|
|
|
|
// "package_search" mocks
|
|
nock('http://mock.ckan/api/3/action', {'encodedQueryParams':true})
|
|
.persist()
|
|
// 1. Call without query.
|
|
.get('/package_search?facet.field=organization&facet.field=groups&facet.field=tags&facet.field=res_format&facet.field=license_id&facet.limit=5')
|
|
.reply(200, {
|
|
"success": true,
|
|
"result": {
|
|
"count": 2,
|
|
"sort": "score desc, metadata_modified desc",
|
|
"facets": {},
|
|
"results": [
|
|
gdp,
|
|
population
|
|
],
|
|
"search_facets": {}
|
|
}
|
|
})
|
|
// 2. Call with `q=gdp` query.
|
|
.get('/package_search?q=gdp&facet.field=organization&facet.field=groups&facet.field=tags&facet.field=res_format&facet.field=license_id&facet.limit=5')
|
|
.reply(200, {
|
|
"success": true,
|
|
"result": {
|
|
"count": 1,
|
|
"sort": "score desc, metadata_modified desc",
|
|
"facets": {},
|
|
"results": [
|
|
gdp
|
|
],
|
|
"search_facets": {}
|
|
}
|
|
})
|
|
|
|
// "package_show" mocks
|
|
nock('http://mock.ckan/api/3/action', {'encodedQueryParams':true})
|
|
.persist()
|
|
.get('/package_show?id=gdp')
|
|
.reply(200, {
|
|
"success": true,
|
|
"result": gdp
|
|
})
|
|
.get('/package_show?id=population')
|
|
.reply(200, {
|
|
"success": true,
|
|
"result": population
|
|
})
|
|
|
|
// "datastore_search" mocks
|
|
nock('http://mock.ckan/api/3/action', {'encodedQueryParams':true})
|
|
.persist()
|
|
.get('/datastore_search?resource_id=population')
|
|
.reply(200, {
|
|
"success": true,
|
|
"result": {
|
|
"records": [
|
|
{
|
|
"Country Code": "ARB",
|
|
"Country Name": "Arab World",
|
|
"Value": 92197753,
|
|
"Year": 1960
|
|
},
|
|
{
|
|
"Country Code": "ARB",
|
|
"Country Name": "Arab World",
|
|
"Value": 94724510,
|
|
"Year": 1961
|
|
},
|
|
{
|
|
"Country Code": "ARB",
|
|
"Country Name": "Arab World",
|
|
"Value": 97334442,
|
|
"Year": 1962
|
|
}
|
|
]
|
|
}
|
|
})
|
|
|
|
// Filestore mocks
|
|
nock('http://mock.filestore', {'encodedQueryParams':true})
|
|
.persist()
|
|
.get('/gdp.csv')
|
|
.reply(200, 'a,b,c\n1,2,3\n4,5,6\n')
|
|
}
|