98 lines
3.2 KiB
JavaScript
98 lines
3.2 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",
|
|
"title": "GDP data",
|
|
"format": "csv",
|
|
"created": "2019-03-07T12:00:36.273495",
|
|
"last_modified": "2020-05-07T12:00:36.273495"
|
|
}
|
|
],
|
|
"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",
|
|
"title": "Population data",
|
|
"format": "csv",
|
|
"created": "2019-03-07T12:00:36.273495",
|
|
"last_modified": "2020-05-07T12:00:36.273495"
|
|
}
|
|
],
|
|
"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
|
|
})
|
|
|
|
// "organization_show" mocks
|
|
}
|