Files
openstapps/test/get-used-versions.spec.ts
2020-11-09 11:49:24 +01:00

44 lines
1.2 KiB
TypeScript

import * as chai from 'chai';
import {expect} from 'chai';
import chaiAsPromised from 'chai-as-promised';
import {execSync} from 'child_process';
import {suite, test} from '@testdeck/mocha';
import {join} from 'path';
import {dirSync} from 'tmp';
import {getUsedVersion, getUsedVersionMajorMinor} from '../src/tasks/get-used-version';
chai.use(chaiAsPromised);
chai.should();
@suite()
export class GetUsedVersionsSpec {
@test
async 'does not depend on core'() {
return getUsedVersion(join(__dirname, '..'), '@openstapps/core').should.eventually.be.rejected;
}
@test
async 'not a Node.js project'() {
return getUsedVersion(__dirname, '@openstapps/core').should.eventually.be.rejected;
}
@test
async 'has no dependencies'() {
const temporaryDirectory = dirSync();
execSync(`cd ${temporaryDirectory.name}; npm init -y`);
await getUsedVersion(temporaryDirectory.name, '@openstapps/core').should.eventually.be.rejected;
}
@test
async 'get used version'() {
expect(await getUsedVersion(join(__dirname, '..'), '@krlwlfrt/async-pool')).to.be.equal('0.4.1');
}
@test
async 'get used version major minor'() {
expect(await getUsedVersionMajorMinor(join(__dirname, '..'), '@krlwlfrt/async-pool')).to.be.equal('0.4');
}
}