@@ -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
@@ -3529,4 +3530,82 @@ describe('utils', () => {
35293530 expect ( utils . getMajorVersion ( '4.1' ) ) . to . be . eql ( '4' ) ;
35303531 } ) ;
35313532 } ) ;
3533+
3534+ describe ( '#setCypressNpmDependency' , ( ) => {
3535+
3536+ it ( 'should set cypress as latest for cypress 10 test suite if cypress_version missing' , ( ) => {
3537+ let bsConfig = {
3538+ run_settings : {
3539+ cypressConfigFilePath : 'cypress.json' ,
3540+ npm_dependencies : {
3541+ "dummy" : "verison"
3542+ } ,
3543+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3544+ } ,
3545+ } ;
3546+ utils . setCypressNpmDependency ( bsConfig ) ;
3547+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "latest" ) ;
3548+ } ) ;
3549+
3550+ it ( 'should set cypress as ^10 if cypress version added' , ( ) => {
3551+ let bsConfig = {
3552+ run_settings : {
3553+ cypress_version : "10.latest" ,
3554+ cypressConfigFilePath : 'cypress.json' ,
3555+ npm_dependencies : {
3556+ "dummy" : "verison"
3557+ } ,
3558+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3559+ } ,
3560+ } ;
3561+ utils . setCypressNpmDependency ( bsConfig ) ;
3562+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "^10" ) ;
3563+ } ) ;
3564+
3565+ it ( 'should set cypress as ^10 if cypress version added' , ( ) => {
3566+ let bsConfig = {
3567+ run_settings : {
3568+ cypress_version : "10.latest" ,
3569+ cypressConfigFilePath : 'cypress.json' ,
3570+ npm_dependencies : {
3571+ "dummy" : "verison"
3572+ } ,
3573+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3574+ } ,
3575+ } ;
3576+ utils . setCypressNpmDependency ( bsConfig ) ;
3577+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "^10" ) ;
3578+ } ) ;
3579+
3580+ it ( 'should set cypress as 10.0.0 if cypress version added' , ( ) => {
3581+ let bsConfig = {
3582+ run_settings : {
3583+ cypress_version : "10.0.0" ,
3584+ cypressConfigFilePath : 'cypress.json' ,
3585+ npm_dependencies : {
3586+ "dummy" : "verison"
3587+ } ,
3588+ cypressTestSuiteType : CYPRESS_V10_AND_ABOVE_TYPE
3589+ } ,
3590+ } ;
3591+ utils . setCypressNpmDependency ( bsConfig ) ;
3592+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , "^10" ) ;
3593+ } ) ;
3594+
3595+ it ( 'should not set cypress for < 9 cypress version if cypress_version missing' , ( ) => {
3596+ let bsConfig = {
3597+ run_settings : {
3598+ cypressConfigFilePath : 'cypress.json' ,
3599+ npm_dependencies : {
3600+ "dummy" : "verison"
3601+ } ,
3602+ cypressTestSuiteType : CYPRESS_V9_AND_OLDER_TYPE
3603+ } ,
3604+ } ;
3605+ utils . setCypressNpmDependency ( bsConfig ) ;
3606+ chai . assert . equal ( bsConfig . run_settings . npm_dependencies . cypress , undefined ) ;
3607+ } ) ;
3608+ } ) ;
3609+
3610+
35323611} ) ;
0 commit comments