Skip to content
This repository was archived by the owner on Mar 31, 2025. It is now read-only.

Commit 2e895f7

Browse files
test(examples/generateProtractorTestsProcessor): add unit test
1 parent 5c893d8 commit 2e895f7

File tree

1 file changed

+69
-0
lines changed

1 file changed

+69
-0
lines changed
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
var generateProtractorTestsProcessorFactory = require('../../processors/protractor-generate');
2+
var _ = require('lodash');
3+
var StringMap = require('stringmap');
4+
5+
describe("generateExamplesProcessor", function() {
6+
var templateFolder, deployments, docs, exampleMap;
7+
8+
beforeEach(function() {
9+
10+
docs = [{ file: 'a.b.js' }];
11+
12+
exampleMap = new StringMap();
13+
14+
files = {};
15+
16+
files['index.html'] = { type: 'html', name: 'index.html', fileContents: 'index.html content' };
17+
files['app.js'] = { type: 'js', name: 'app.js', fileContents: 'app.js content' };
18+
files['app.css'] = { type: 'css', name: 'app.css', fileContents: 'app.css content' };
19+
files['app.scenario.js'] = { type: 'protractor', name: 'app.scenario.js', fileContents: 'app.scenario.js content' };
20+
21+
exampleMap.set('a.b.c', {
22+
id: 'a.b.c',
23+
doc: docs[0],
24+
outputFolder: 'examples',
25+
deps: 'dep1.js;dep2.js',
26+
files: files,
27+
deployments: {}
28+
});
29+
30+
processor = generateProtractorTestsProcessorFactory(exampleMap);
31+
processor.templateFolder = 'examples';
32+
processor.deployments = [
33+
{
34+
name: 'default',
35+
examples: { commonFiles: [], dependencyPath: '.' },
36+
},
37+
{
38+
name: 'other',
39+
examples: { commonFiles: { scripts: [ 'someFile.js', 'someOtherFile.js' ], }, dependencyPath: '..' }
40+
}
41+
];
42+
43+
processor.$process(docs);
44+
45+
});
46+
47+
48+
it("should add a protractor doc for each deployment in the example", function() {
49+
expect(_.filter(docs, { docType: 'e2e-test' })).toEqual([
50+
jasmine.objectContaining({
51+
docType: 'e2e-test',
52+
id: 'protractorTest-a.b.c-' + processor.deployments[0].name,
53+
example: exampleMap.get('a.b.c'),
54+
deployment: processor.deployments[0],
55+
template: 'protractorTests.template.js',
56+
innerTest: 'app.scenario.js content'
57+
}),
58+
jasmine.objectContaining({
59+
docType: 'e2e-test',
60+
id: 'protractorTest-a.b.c-' + processor.deployments[1].name,
61+
example: exampleMap.get('a.b.c'),
62+
deployment: processor.deployments[1],
63+
template: 'protractorTests.template.js',
64+
innerTest: 'app.scenario.js content'
65+
}),
66+
]);
67+
});
68+
69+
});

0 commit comments

Comments
 (0)