test/modules.organization.test.js
import dotenv from 'dotenv'
import chai from 'chai'
import chaiAsPromised from 'chai-as-promised'
import { SpaceInvoices } from '../src/spaceInvoices'
import { MOrganization } from '../src/models'
dotenv.config()
let expect = chai.use(chaiAsPromised).expect
// let samples = {
// organization: {
// name: 'Space Exploration Technologies corp',
// address: 'Rocket Road',
// city: 'Hawthorne',
// zip: 'CA 90250',
// country: 'USA',
// IBAN: '123454321 123454321',
// bank: 'Bank Of America'
// }
// }
/** @test {SpaceInvoices#organization} */
describe('SpaceInvoices Modules Test / Organization', () => {
let spaceInvoices = new SpaceInvoices(process.env.API_TOKEN)
/**
* @type { MAccount | null }
*/
let account = null
/**
* @type { MOrganization[] | null }
*/
let organizations = null
before(() => {
return spaceInvoices.account.authenticate(process.env.TEST_EMAIL, process.env.TEST_PASSWORD).then(_account => {
account = _account
return Promise.resolve(_account)
})
})
it('get all organizations', () => {
return expect(spaceInvoices.organization.list(account.id).then(_organizations => {
organizations = _organizations
return Promise.resolve(_organizations)
})).to.eventually.be.fulfilled.with.an('array')
})
it('all organizations instance', () => {
if (organizations.length) {
return expect(organizations[0]).to.be.instanceof(MOrganization)
} else {
return expect(organizations).to.be.empty
}
})
it('get all organizations from account instance', () => {
return expect(account.listOrganizations()).to.eventually.be.fulfilled.with.an('array')
})
})