Skip to content

Commit 38146ed

Browse files
committed
Added tests
1 parent fd16e50 commit 38146ed

File tree

5 files changed

+264
-10
lines changed

5 files changed

+264
-10
lines changed

bin/commands/runs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ module.exports = function run(args) {
1515
return utils.validateBstackJson(bsConfigPath).then(function (bsConfig) {
1616
utils.setUsageReportingFlag(bsConfig, args.disableUsageReporting);
1717

18-
// Validate browserstack.json values
18+
// Validate browserstack.json values and parallels specified via arguments
1919
return capabilityHelper.validate(bsConfig, args).then(function (validated) {
2020
logger.info(validated);
2121

bin/helpers/capabilityHelper.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ const caps = (bsConfig, zip) => {
6565
obj.customBuildName = bsConfig.run_settings.customBuildName || bsConfig.run_settings.build_name;
6666
obj.callbackURL = bsConfig.run_settings.callback_url;
6767
obj.projectNotifyURL = bsConfig.run_settings.project_notify_URL;
68+
obj.parallels = bsConfig.run_settings.parallels;
6869
}
6970

7071
if (obj.project) logger.log(`Project name is: ${obj.project}`);
@@ -75,7 +76,6 @@ const caps = (bsConfig, zip) => {
7576

7677
if (obj.projectNotifyURL) logger.info(`Project notify URL is: ${obj.projectNotifyURL}`);
7778

78-
obj.parallels = bsConfig.run_settings.parallels;
7979
if (obj.parallels) logger.info(`Parallels limit specified: ${obj.parallels}`);
8080

8181
var data = JSON.stringify(obj);
@@ -96,10 +96,10 @@ const validate = (bsConfig, args) => {
9696
if (!bsConfig.run_settings.cypress_proj_dir) reject(Constants.validationMessages.EMPTY_SPEC_FILES);
9797

9898
// validate parallels specified in browserstack.json if parallels are not specified via arguments
99-
if (Utils.isUndefined(args.parallels) && !Utils.isParallelValid(bsConfig.run_settings.parallels)) reject(Constants.validationMessages.INVALID_PARALLELS_CONFIGURATION);
99+
if (!Utils.isUndefined(args) && Utils.isUndefined(args.parallels) && !Utils.isParallelValid(bsConfig.run_settings.parallels)) reject(Constants.validationMessages.INVALID_PARALLELS_CONFIGURATION);
100100

101101
// if parallels specified via arguments validate only arguments
102-
if (!Utils.isUndefined(args.parallels) && !Utils.isParallelValid(args.parallels)) reject(Constants.validationMessages.INVALID_PARALLELS_CONFIGURATION);
102+
if (!Utils.isUndefined(args) && !Utils.isUndefined(args.parallels) && !Utils.isParallelValid(args.parallels)) reject(Constants.validationMessages.INVALID_PARALLELS_CONFIGURATION);
103103

104104
resolve(Constants.validationMessages.VALIDATED);
105105
});

test/unit/bin/commands/runs.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ describe("runs", () => {
134134

135135
beforeEach(() => {
136136
sandbox = sinon.createSandbox();
137+
setParallelsStub = sandbox.stub();
137138
validateBstackJsonStub = sandbox.stub();
138139
setUsageReportingFlagStub = sandbox.stub().returns(undefined);
139140
sendUsageReportStub = sandbox.stub().callsFake(function () {
@@ -158,6 +159,7 @@ describe("runs", () => {
158159
"../helpers/utils": {
159160
validateBstackJson: validateBstackJsonStub,
160161
sendUsageReport: sendUsageReportStub,
162+
setParallels: setParallelsStub,
161163
setUsageReportingFlag: setUsageReportingFlagStub,
162164
},
163165
"../helpers/capabilityHelper": {
@@ -180,6 +182,7 @@ describe("runs", () => {
180182
chai.assert.fail("Promise error");
181183
})
182184
.catch((error) => {
185+
sinon.assert.calledOnce(setParallelsStub)
183186
sinon.assert.calledOnce(validateBstackJsonStub);
184187
sinon.assert.calledOnce(capabilityValidatorStub);
185188
sinon.assert.calledOnce(archiverStub);
@@ -203,6 +206,7 @@ describe("runs", () => {
203206
beforeEach(() => {
204207
sandbox = sinon.createSandbox();
205208
validateBstackJsonStub = sandbox.stub();
209+
setParallelsStub = sandbox.stub();
206210
setUsageReportingFlagStub = sandbox.stub().returns(undefined);
207211
sendUsageReportStub = sandbox.stub().callsFake(function () {
208212
return "end";
@@ -227,6 +231,7 @@ describe("runs", () => {
227231
"../helpers/utils": {
228232
validateBstackJson: validateBstackJsonStub,
229233
sendUsageReport: sendUsageReportStub,
234+
setParallels: setParallelsStub,
230235
setUsageReportingFlag: setUsageReportingFlagStub,
231236
},
232237
"../helpers/capabilityHelper": {
@@ -253,6 +258,7 @@ describe("runs", () => {
253258
chai.assert.fail("Promise error");
254259
})
255260
.catch((error) => {
261+
sinon.assert.calledOnce(setParallelsStub);
256262
sinon.assert.calledOnce(validateBstackJsonStub);
257263
sinon.assert.calledOnce(capabilityValidatorStub);
258264
sinon.assert.calledOnce(archiverStub);
@@ -280,6 +286,7 @@ describe("runs", () => {
280286
beforeEach(() => {
281287
sandbox = sinon.createSandbox();
282288
validateBstackJsonStub = sandbox.stub();
289+
setParallelsStub = sandbox.stub();
283290
setUsageReportingFlagStub = sandbox.stub().returns(undefined);
284291
sendUsageReportStub = sandbox.stub().callsFake(function () {
285292
return "end";
@@ -305,6 +312,7 @@ describe("runs", () => {
305312
"../helpers/utils": {
306313
validateBstackJson: validateBstackJsonStub,
307314
sendUsageReport: sendUsageReportStub,
315+
setParallels: setParallelsStub,
308316
setUsageReportingFlag: setUsageReportingFlagStub,
309317
},
310318
"../helpers/capabilityHelper": {
@@ -339,6 +347,7 @@ describe("runs", () => {
339347
.catch((error) => {
340348
sinon.assert.calledOnce(validateBstackJsonStub);
341349
sinon.assert.calledOnce(capabilityValidatorStub);
350+
sinon.assert.calledOnce(setParallelsStub);
342351
sinon.assert.calledOnce(archiverStub);
343352
sinon.assert.calledOnce(setUsageReportingFlagStub);
344353
sinon.assert.calledOnce(zipUploadStub);
@@ -368,6 +377,7 @@ describe("runs", () => {
368377
beforeEach(() => {
369378
sandbox = sinon.createSandbox();
370379
validateBstackJsonStub = sandbox.stub();
380+
setParallelsStub = sandbox.stub();
371381
setUsageReportingFlagStub = sandbox.stub().returns(undefined);
372382
sendUsageReportStub = sandbox.stub().callsFake(function () {
373383
return "end";
@@ -394,6 +404,7 @@ describe("runs", () => {
394404
validateBstackJson: validateBstackJsonStub,
395405
sendUsageReport: sendUsageReportStub,
396406
setUsageReportingFlag: setUsageReportingFlagStub,
407+
setParallels: setParallelsStub,
397408
},
398409
"../helpers/capabilityHelper": {
399410
validate: capabilityValidatorStub,
@@ -427,6 +438,7 @@ describe("runs", () => {
427438
.catch((error) => {
428439
sinon.assert.calledOnce(validateBstackJsonStub);
429440
sinon.assert.calledOnce(capabilityValidatorStub);
441+
sinon.assert.calledOnce(setParallelsStub);
430442
sinon.assert.calledOnce(archiverStub);
431443
sinon.assert.calledOnce(setUsageReportingFlagStub);
432444
sinon.assert.calledOnce(zipUploadStub);

0 commit comments

Comments
 (0)