Skip to content

Commit

Permalink
Use describe names for the suite name
Browse files Browse the repository at this point in the history
  • Loading branch information
alexneo2003 committed Jun 10, 2021
1 parent 9e36a35 commit 2cb6e5f
Show file tree
Hide file tree
Showing 9 changed files with 142 additions and 115 deletions.
33 changes: 17 additions & 16 deletions __tests__/allure-api/attachment.test.js
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
const {ContentType} = require('../../dist');

test('allure.attachment()', () => {
allure.attachment('TEXT-attachment', 'line1\nline2\nline3\n', ContentType.TEXT);
allure.attachment('CSS-attachment', 'CSS content', ContentType.CSS);
allure.attachment('CSV-attachment', 'a,b,c,d,e,f\n1,2,3,4,5,6', ContentType.CSV);
allure.attachment('JSON-attachment',
describe('Attachments', () => {
test('allure.attachment()', () => {
allure.attachment('TEXT-attachment', 'line1\nline2\nline3\n', ContentType.TEXT);
allure.attachment('CSS-attachment', 'CSS content', ContentType.CSS);
allure.attachment('CSV-attachment', 'a,b,c,d,e,f\n1,2,3,4,5,6', ContentType.CSV);
allure.attachment('JSON-attachment',
JSON.stringify({
string: 'foobar',
number: 1,
boolean: true,
function: () => console.log('Ok it works.')
}, null, 2),
ContentType.JSON);
allure.attachment('JPEG-attachment', '', ContentType.JPEG);
allure.attachment('PNG-attachment', '', ContentType.PNG);
allure.attachment('SVG attachment', '', ContentType.SVG);
allure.attachment('HTML attachment', '<div><p>This is an HTML doc</p></div', ContentType.HTML);

expect(1 + 2).toBe(3);
});

test('HTML is available on ContentType enum', () => {
expect(ContentType.HTML).toStrictEqual('text/html');
});
allure.attachment('JPEG-attachment', '', ContentType.JPEG);
allure.attachment('PNG-attachment', '', ContentType.PNG);
allure.attachment('SVG attachment', '', ContentType.SVG);
allure.attachment('HTML attachment', '<div><p>This is an HTML doc</p></div', ContentType.HTML);

expect(1 + 2).toBe(3);
});

test('HTML is available on ContentType enum', () => {
expect(ContentType.HTML).toStrictEqual('text/html');
});
})
11 changes: 6 additions & 5 deletions __tests__/allure-api/description.test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@

test('allure.description()', () => {
allure.description('This is an example description');
expect(5).toBe(5);
});
describe('Description', () => {
test('allure.description()', () => {
allure.description('This is an example description');
expect(5).toBe(5);
});
})
19 changes: 10 additions & 9 deletions __tests__/allure-api/logStep.test.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
const {Status} = require('../../dist');

test('allure.logStep()', () => {
allure.logStep('This is a PASSED logStep', Status.PASSED);
allure.logStep('This is a FAILED logStep', Status.FAILED);
allure.logStep('This is a BLOCKED logStep', Status.BROKEN);
allure.logStep('This is a SKIPPED logStep', Status.SKIPPED);

expect(5).toBe(5);
});
describe('logStep', () => {
test('allure.logStep()', () => {
allure.logStep('This is a PASSED logStep', Status.PASSED);
allure.logStep('This is a FAILED logStep', Status.FAILED);
allure.logStep('This is a BLOCKED logStep', Status.BROKEN);
allure.logStep('This is a SKIPPED logStep', Status.SKIPPED);

expect(5).toBe(5);
});
})
13 changes: 7 additions & 6 deletions __tests__/allure-api/parameter.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

test('allure.parameter()', () => {
allure.parameter('Argument 1', 'exampleValue');

expect(5).toBe(5);
});
describe('Parameter', () => {
test('allure.parameter()', () => {
allure.parameter('Argument 1', 'exampleValue');

expect(5).toBe(5);
});
})
62 changes: 31 additions & 31 deletions __tests__/allure-api/severity.test.js
Original file line number Diff line number Diff line change
@@ -1,32 +1,32 @@
const {Severity} = require('../../dist');

test('.severity = BLOCKER', () => {
allure.severity(Severity.BLOCKER);

expect(1 + 1).toBe(2);
});

test('.severity = CRITICAL', () => {
allure.severity(Severity.CRITICAL);

expect(1 + 1).toBe(2);
});

test('.severity = MINOR', () => {
allure.severity(Severity.MINOR);

expect(1 + 1).toBe(2);
});

test('.severity = NORMAL', () => {
allure.severity(Severity.NORMAL);

expect(1 + 1).toBe(2);
});

test('.severity = TRIVIAL', () => {
allure.severity(Severity.TRIVIAL);

expect(1 + 1).toBe(2);
});

describe('severity', () => {
test('.severity = BLOCKER', () => {
allure.severity(Severity.BLOCKER);
expect(1 + 1).toBe(2);
});
test('.severity = CRITICAL', () => {
allure.severity(Severity.CRITICAL);
expect(1 + 1).toBe(2);
});
test('.severity = MINOR', () => {
allure.severity(Severity.MINOR);
expect(1 + 1).toBe(2);
});
test('.severity = NORMAL', () => {
allure.severity(Severity.NORMAL);
expect(1 + 1).toBe(2);
});
test('.severity = TRIVIAL', () => {
allure.severity(Severity.TRIVIAL);
expect(1 + 1).toBe(2);
});
})
21 changes: 11 additions & 10 deletions __tests__/docblocks.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,16 @@ function sum(a, b) {
/**
* @my-custom-pragma above-test1
*/
test('Ignore Docblock, when located above test', () => {
expect(sum(1, 2)).toBe(3);
});
describe('Docblock', () => {
test('Ignore Docblock, when located above test', () => {
expect(sum(1, 2)).toBe(3);
});

test('Read Docblock, when located under test', () => {
/**
* @my-custom-pragma under-test1
*/

expect(sum(1, 2)).toBe(3);
});
test('Read Docblock, when located under test', () => {
/**
* @my-custom-pragma under-test1
*/

expect(sum(1, 2)).toBe(3);
});
})
30 changes: 30 additions & 0 deletions __tests__/reporter.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
describe('Root suite', () => {
describe('Nested root suite 1', () => {
it('first assert', async () => {
expect(true).toEqual(true);
});
describe('Nested Nested root suite 1', () => {
it('Nested Nested first assert', async () => {
expect(true).toEqual(true);
});
});
});

it('second assert', async () => {
expect(true).toEqual(true);
});

describe('Nested suite 2', () => {
it('suite 2 first assert', async () => {
expect(true).toEqual(true);
});

it('suite 2 second assert', async () => {
expect(true).toEqual(true);
});
});
});

it('ROOT assert', async () => {
expect(true).toEqual(true);
});
34 changes: 18 additions & 16 deletions __tests__/status.test.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
test('Expect to pass', () => {
expect(1 + 2).toBe(3);
});

test.skip('Expect to skip', () => {
expect(1 + 2).toBe(3);
});

test('Expect to fail', () => {
expect(2 + 2).toBe(6);
});

test('Expect to break', () => {
expect(3 + 2).toBe(5);
foo.bar;
});
describe('Status', () => {
test('Expect to pass', () => {
expect(1 + 2).toBe(3);
});

test.skip('Expect to skip', () => {
expect(1 + 2).toBe(3);
});

test('Expect to fail', () => {
expect(2 + 2).toBe(6);
});

test('Expect to break', () => {
expect(3 + 2).toBe(5);
foo.bar;
});
})
34 changes: 12 additions & 22 deletions src/allure-reporter.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import {createHash} from 'crypto';
import * as os from 'os';
import {
AllureGroup,
AllureRuntime,
Expand Down Expand Up @@ -178,7 +177,7 @@ export default class AllureReporter {
currentTest.addLabel(LabelName.THREAD, state.parentProcess.env.JEST_WORKER_ID);
}

currentTest = this.addSuiteLabelsToTestCase(currentTest, testPath);
currentTest = this.addSuiteLabelsToTestCase(currentTest, test.parent);
this.pushTest(currentTest);
}

Expand Down Expand Up @@ -369,27 +368,18 @@ export default class AllureReporter {
}
}

private addSuiteLabelsToTestCase(currentTest: AllureTest, testPath: string): AllureTest {
const isWindows = os.type() === 'Windows_NT';
const pathDelimiter = isWindows ? '\\' : '/';
const pathsArray = testPath.split(pathDelimiter);

const [parentSuite, ...suites] = pathsArray;
const subSuite = suites.pop();

if (parentSuite) {
currentTest.addLabel(LabelName.PARENT_SUITE, parentSuite);
currentTest.addLabel(LabelName.PACKAGE, parentSuite);
}

if (suites.length > 0) {
currentTest.addLabel(LabelName.SUITE, suites.join(' > '));
private addSuiteLabelsToTestCase(currentTest: AllureTest, parent: jest.Circus.DescribeBlock): AllureTest {
if ((parent?.parent as any)?.parent?.parent && (parent?.parent as any)?.parent?.parent.name === 'ROOT_DESCRIBE_BLOCK') {
currentTest.addLabel(LabelName.PARENT_SUITE, (parent.parent as any).parent.name);
currentTest.addLabel(LabelName.SUITE, (parent.parent as any).name);
currentTest.addLabel(LabelName.SUB_SUITE, parent.name);
} else if ((parent?.parent as any)?.parent && (parent?.parent as any)?.parent.name === 'ROOT_DESCRIBE_BLOCK') {
currentTest.addLabel(LabelName.PARENT_SUITE, (parent.parent as any).name);
currentTest.addLabel(LabelName.SUITE, (parent as any).name);
// currentTest.addLabel(LabelName.SUB_SUITE, parent.name);
} else if ((parent as any)?.parent && (parent as any)?.parent.name === 'ROOT_DESCRIBE_BLOCK') {
currentTest.addLabel(LabelName.PARENT_SUITE, (parent as any).name);
}

if (subSuite) {
currentTest.addLabel(LabelName.SUB_SUITE, subSuite);
}

return currentTest;
}

Expand Down

0 comments on commit 2cb6e5f

Please sign in to comment.