91 lines
3.3 KiB
TypeScript
91 lines
3.3 KiB
TypeScript
import { expect, tap } from '@pushrocks/tapbundle';
|
|
import * as qenv from '@pushrocks/qenv';
|
|
const testQenv = new qenv.Qenv('./', './.nogit');
|
|
|
|
import * as ora from '../ts/index';
|
|
|
|
let oraInstance: ora.Ora;
|
|
|
|
tap.test('should create a valid instance for Ora', async () => {
|
|
oraInstance = new ora.Ora(testQenv.getEnvVarOnDemand('ORA_APITOKEN'));
|
|
});
|
|
|
|
tap.test('should get all organizations', async () => {
|
|
const organizations = await oraInstance.getOrganizations();
|
|
expect(organizations.length).to.equal(2);
|
|
});
|
|
|
|
tap.test('should get all projects of an organization', async () => {
|
|
const organizations = await oraInstance.getOrganizations();
|
|
const losslessOrganization = organizations.find(orgArg => {
|
|
return orgArg.name.startsWith('Lossless');
|
|
});
|
|
const projectsInLosslessOrg = await losslessOrganization.getProjects();
|
|
});
|
|
|
|
tap.test('should get all lists for a project', async () => {
|
|
const organizations = await oraInstance.getOrganizations();
|
|
const losslessOrganization = organizations.find(orgArg => {
|
|
return orgArg.name.startsWith('Lossless');
|
|
});
|
|
const projectsInLosslessOrg = await losslessOrganization.getProjects();
|
|
const featureProjects = projectsInLosslessOrg.filter(oraProjectArg => {
|
|
return oraProjectArg.title.includes('Feature');
|
|
});
|
|
|
|
console.log('The following Feature Boards are available:');
|
|
featureProjects.forEach(oraProjectArg => console.log(oraProjectArg.title));
|
|
const layerIoProject = featureProjects.find(oraProjectArg =>
|
|
oraProjectArg.title.includes('layer.io')
|
|
);
|
|
|
|
const lists = await layerIoProject.getLists();
|
|
console.log('\nThe following lists are available');
|
|
lists.forEach(listArg => console.log(listArg.title));
|
|
});
|
|
|
|
tap.test('should get all tasks for a project', async () => {
|
|
const organizations = await oraInstance.getOrganizations();
|
|
const losslessOrganization = organizations.find(orgArg => {
|
|
return orgArg.name.startsWith('Lossless');
|
|
});
|
|
const projectsInLosslessOrg = await losslessOrganization.getProjects();
|
|
const featureProjects = projectsInLosslessOrg.filter(oraProjectArg => {
|
|
return oraProjectArg.title.includes('Feature');
|
|
});
|
|
const layerIoProject = featureProjects.find(oraProjectArg =>
|
|
oraProjectArg.title.includes('layer.io')
|
|
);
|
|
const lists = await layerIoProject.getLists();
|
|
let tasks: ora.OraTask[] = [];
|
|
for (const list of lists) {
|
|
tasks = tasks.concat(await list.getTasks());
|
|
}
|
|
console.log('the following tasks are available:');
|
|
tasks.forEach(taskArg => console.log(taskArg.title));
|
|
});
|
|
|
|
tap.test('should get a milestone', async () => {
|
|
const organizations = await oraInstance.getOrganizations();
|
|
const losslessOrganization = organizations.find(orgArg => {
|
|
return orgArg.name.startsWith('Lossless');
|
|
});
|
|
const projectsInLosslessOrg = await losslessOrganization.getProjects();
|
|
const featureProjects = projectsInLosslessOrg.filter(oraProjectArg => {
|
|
return oraProjectArg.title.includes('Feature');
|
|
});
|
|
const layerIoProject = featureProjects.find(oraProjectArg =>
|
|
oraProjectArg.title.includes('layer.io')
|
|
);
|
|
const lists = await layerIoProject.getLists();
|
|
let tasks: ora.OraTask[] = [];
|
|
for (const list of lists) {
|
|
tasks = tasks.concat(await list.getTasks());
|
|
}
|
|
console.log('the following tasks are available:');
|
|
const milestone = await tasks[0].getMilestone();
|
|
expect(milestone).to.be.instanceOf(ora.OraMilestone);
|
|
});
|
|
|
|
tap.start();
|