1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00
ocean.js/test/unit/ocean/Assets.test.ts
Matthias Kretschmann d8914a8380
Replace Travis with GitHub Actions (#847)
* GitHub CI actions

* add coverage job

* test run tweaks

* windows build fix

* barge tweaks

* deal with env vars

* add npm publish job

* trial & error

* remove Travis

* publish as single workflow

* handle Docker Hub login

* maybe preparing ~/.ocean is needed

* downgrade barge contracts, run with barge defaults

* put back ADDRESS_FILE env var

* AQUARIUS_URI test

* ddo creation test logging

* make failing DDO creation test actually fail

* separate unit/integration Asset tests

* set AQUARIUS_URI again

* readme updates

* prepare ~/.ocean folder

* separate tests into multiple jobs

* address.json debugging

* windows build fixes

* address.json trials

* env var expansion workaround

* cleanup

* debug coverage output

* fix coverage

* bump codeclimate-action

* use barge instead of ganache (#855)

* use barge instead of ganache

* small unit test job cleanup

Co-authored-by: Matthias Kretschmann <m@kretschmann.io>

* barge detach workaround

Co-authored-by: Alex Coseru <alex.coseru@gmail.com>
2021-06-22 12:21:27 +02:00

61 lines
1.7 KiB
TypeScript

import { assert, spy, use } from 'chai'
import spies from 'chai-spies'
import { SearchQuery, MetadataCache } from '../../../src/metadatacache/MetadataCache'
import { Ocean } from '../../../src/ocean/Ocean'
import { DDO, ConfigHelper } from '../../../src/lib'
import { responsify, getSearchResults } from '../helpers'
use(spies)
describe('Assets', () => {
let ocean: Ocean
let metadataCache: MetadataCache
beforeEach(async () => {
const config = new ConfigHelper().getConfig('development')
ocean = await Ocean.getInstance(config)
metadataCache = ocean.metadataCache // eslint-disable-line prefer-destructuring
})
afterEach(() => {
spy.restore()
})
describe('#query()', () => {
it('should search for assets', async () => {
const query: SearchQuery = {
offset: 100,
page: 1,
query: {
query_string: {
query: 'Office'
}
},
sort: {
created: -1
}
} as SearchQuery
spy.on(metadataCache.fetch, 'post', () => responsify(getSearchResults([new DDO()])))
const assets = await ocean.assets.query(query)
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(metadataCache.fetch, 'post', () => responsify(getSearchResults([new DDO()])))
const assets = await ocean.assets.search(text)
assert.typeOf(assets.results, 'array')
assert.lengthOf(assets.results, 1)
assert.isDefined(assets.results[0].findServiceById)
})
})
})