@@ -23,6 +23,7 @@ const utils = require('../../../../bin/helpers/utils'),
2323 syncLogger = require ( '../../../../bin/helpers/logger' ) . syncCliLogger ,
2424 Contants = require ( '../../../../bin/helpers/constants' ) ;
2525const browserstack = require ( 'browserstack-local' ) ;
26+ const { CYPRESS_V10_AND_ABOVE_TYPE , CYPRESS_V9_AND_OLDER_TYPE } = require ( '../../../../bin/helpers/constants' ) ;
2627chai . use ( chaiAsPromised ) ;
2728logger . transports [ 'console.info' ] . silent = true ;
2829
@@ -3522,4 +3523,82 @@ describe('utils', () => {
35223523 expect ( utils . getMajorVersion ( '4.1' ) ) . to . be . eql ( '4' ) ;
35233524 } ) ;
35243525 } ) ;
3526+
3527+ describe ( '#setCypressNpmDependency' , ( ) => {
3528+
3529+ it ( 'should set cypress as latest for cypress 10 test suite if cypress_version missing' , ( ) => {
3530+ let bsConfig = {
3531+ run_settings : {
3532+ cypressConfigFilePath : 'cypress.json' ,
3533+ npm_dependencies : {
3534+ "dummy" : "verison"
3535+ } ,
3536+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3537+ } ,
3538+ } ;
3539+ utils . setCypressNpmDependency ( bsConfig ) ;
3540+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "latest" ) ;
3541+ } ) ;
3542+
3543+ it ( 'should set cypress as ^10 if cypress version added' , ( ) => {
3544+ let bsConfig = {
3545+ run_settings : {
3546+ cypress_version : "10.latest" ,
3547+ cypressConfigFilePath : 'cypress.json' ,
3548+ npm_dependencies : {
3549+ "dummy" : "verison"
3550+ } ,
3551+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3552+ } ,
3553+ } ;
3554+ utils . setCypressNpmDependency ( bsConfig ) ;
3555+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "^10" ) ;
3556+ } ) ;
3557+
3558+ it ( 'should set cypress as ^10 if cypress version added' , ( ) => {
3559+ let bsConfig = {
3560+ run_settings : {
3561+ cypress_version : "10.latest" ,
3562+ cypressConfigFilePath : 'cypress.json' ,
3563+ npm_dependencies : {
3564+ "dummy" : "verison"
3565+ } ,
3566+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3567+ } ,
3568+ } ;
3569+ utils . setCypressNpmDependency ( bsConfig ) ;
3570+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "^10" ) ;
3571+ } ) ;
3572+
3573+ it ( 'should set cypress as 10.0.0 if cypress version added' , ( ) => {
3574+ let bsConfig = {
3575+ run_settings : {
3576+ cypress_version : "10.0.0" ,
3577+ cypressConfigFilePath : 'cypress.json' ,
3578+ npm_dependencies : {
3579+ "dummy" : "verison"
3580+ } ,
3581+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3582+ } ,
3583+ } ;
3584+ utils . setCypressNpmDependency ( bsConfig ) ;
3585+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "10.0.0" ) ;
3586+ } ) ;
3587+
3588+ it ( 'should not set cypress for < 9 cypress version if cypress_version missing' , ( ) => {
3589+ let bsConfig = {
3590+ run_settings : {
3591+ cypressConfigFilePath : 'cypress.json' ,
3592+ npm_dependencies : {
3593+ "dummy" : "verison"
3594+ } ,
3595+ cypressTestSuiteType : CYPRESS_V9_AND_OLDER_TYPE
3596+ } ,
3597+ } ;
3598+ utils . setCypressNpmDependency ( bsConfig ) ;
3599+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , undefined ) ;
3600+ } ) ;
3601+ } ) ;
3602+
3603+
35253604} ) ;
0 commit comments