import { assert, spy, use } from 'chai' import spies from 'chai-spies' import { Ocean } from '../../src/ocean/Ocean' import config from '../config' import { Account } from '../../src/squid' import { OceanCompute } from '../../src/ocean/OceanCompute' use(spies) const responsify = async data => ({ ok: true, json: () => Promise.resolve(data) }) describe('OceanCompute', () => { let ocean: Ocean let account: Account let compute: OceanCompute before(async () => { ocean = await Ocean.getInstance(config) ;[account] = await ocean.accounts.list() compute = ocean.compute // eslint-disable-line prefer-destructuring }) afterEach(() => { spy.restore() }) describe('#start()', () => { it('should start a new job', async () => { spy.on(ocean.utils.fetch, 'post', () => responsify({ jobId: 'my-job-id' })) const response = await compute.start(account, 'xxx', 'xxx') assert(response.jobId === 'my-job-id') }) }) describe('#stop()', () => { it('should stop a job', async () => { spy.on(ocean.utils.fetch, 'put', () => responsify({ status: 6 })) const response = await compute.stop(account, 'xxx', 'xxx') assert(response.status === 6) }) }) })