1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

more test fixes

This commit is contained in:
Matthias Kretschmann 2020-09-08 12:49:03 +02:00
parent 47d1f4d010
commit f8c1cfff7b
Signed by: m
GPG Key ID: 606EEEF3C479A91F
3 changed files with 45 additions and 24 deletions

20
test/unit/helpers.ts Normal file
View File

@ -0,0 +1,20 @@
import { DDO } from '../../src/lib'
const responsify = async (data) => ({
ok: true,
json: () => Promise.resolve(data)
})
const getSearchResults = (
results: DDO[],
page = 0,
total_pages = 1,
total_results = 1
): any => ({
results,
page,
total_pages,
total_results
})
export { responsify, getSearchResults }

View File

@ -6,25 +6,14 @@ import { DDO } from '../../../src/ddo/DDO'
import DID from '../../../src/ocean/DID'
import config from '../config'
import { LoggerInstance } from '../../../src/utils'
import { responsify, getSearchResults } from '../helpers'
use(spies)
const reponsify = async (data) => ({
ok: true,
json: () => Promise.resolve(data)
})
describe('MetadataStore', () => {
let ocean: Ocean
let metadataStore: MetadataStore
const getResults = (results: DDO[], page = 0, total_pages = 1, total_results = 1) => ({
results,
page,
total_pages,
total_results
})
beforeEach(async () => {
ocean = await Ocean.getInstance(config)
metadataStore = ocean.metadatastore // eslint-disable-line prefer-destructuring
@ -48,7 +37,7 @@ describe('MetadataStore', () => {
} as SearchQuery
it('should query metadata', async () => {
spy.on(metadataStore.fetch, 'post', () => reponsify(getResults([new DDO()])))
spy.on(metadataStore.fetch, 'post', () => responsify(getSearchResults([new DDO()])))
const result = await metadataStore.queryMetadata(query)
assert.typeOf(result.results, 'array')
@ -60,7 +49,9 @@ describe('MetadataStore', () => {
it('should query metadata with a new instance', async () => {
const metadatastoreNew = new MetadataStore(config.metadataStoreUri, LoggerInstance)
spy.on(metadatastoreNew.fetch, 'post', () => reponsify(getResults([new DDO()])))
spy.on(metadatastoreNew.fetch, 'post', () =>
responsify(getSearchResults([new DDO()]))
)
const result = await metadatastoreNew.queryMetadata(query)
assert.typeOf(result.results, 'array')
@ -71,7 +62,7 @@ describe('MetadataStore', () => {
})
it('should query metadata and return real ddo', async () => {
spy.on(metadataStore.fetch, 'post', () => reponsify(getResults([new DDO()])))
spy.on(metadataStore.fetch, 'post', () => responsify(getSearchResults([new DDO()])))
const result = await metadataStore.queryMetadata(query)
assert.typeOf(result.results, 'array')
@ -87,7 +78,7 @@ describe('MetadataStore', () => {
id: did.getId()
})
spy.on(metadataStore.fetch, 'post', () => reponsify(ddo))
spy.on(metadataStore.fetch, 'post', () => responsify(ddo))
const result: DDO = await metadataStore.storeDDO(ddo)
assert(result)
@ -102,8 +93,8 @@ describe('MetadataStore', () => {
id: did.getId()
})
spy.on(metadataStore.fetch, 'post', () => reponsify(ddo))
spy.on(metadataStore.fetch, 'get', () => reponsify(ddo))
spy.on(metadataStore.fetch, 'post', () => responsify(ddo))
spy.on(metadataStore.fetch, 'get', () => responsify(ddo))
const storageResult: DDO = await metadataStore.storeDDO(ddo)
assert(storageResult)

View File

@ -1,17 +1,21 @@
import { assert, spy, use } from 'chai'
import spies from 'chai-spies'
import { SearchQuery } from '../../../src/metadatastore/MetadataStore'
import { SearchQuery, MetadataStore } from '../../../src/metadatastore/MetadataStore'
import { Ocean } from '../../../src/ocean/Ocean'
import config from '../config'
import { DDO } from '../../../src/lib'
import { responsify, getSearchResults } from '../helpers'
use(spies)
let ocean: Ocean
describe('Assets', () => {
before(async () => {
let ocean: Ocean
let metadataStore: MetadataStore
beforeEach(async () => {
ocean = await Ocean.getInstance(config)
metadataStore = ocean.metadatastore // eslint-disable-line prefer-destructuring
})
afterEach(() => {
@ -31,18 +35,24 @@ describe('Assets', () => {
}
} as SearchQuery
spy.on(metadataStore.fetch, 'post', () => responsify(getSearchResults([new DDO()])))
const assets = await ocean.assets.query(query)
assert(assets)
assert.typeOf(assets.results, 'array')
assert.lengthOf(assets.results, 1)
assert.isDefined(assets.results[0].findServiceById)
})
})
describe('#search()', () => {
it('should search for assets', async () => {
const text = 'office'
spy.on(metadataStore.fetch, 'post', () => responsify(getSearchResults([new DDO()])))
const assets = await ocean.assets.search(text)
assert(assets)
assert.typeOf(assets.results, 'array')
assert.lengthOf(assets.results, 1)
assert.isDefined(assets.results[0].findServiceById)
})
})
})