0

I have an after scenario as :

var afterScenario = function(campaignName, that){
    console.log('in after scenario');
    that.After("@cleanup", function(callback){
        console.log('-------IN AFTER SCENARIO--------');
};

I am calling this from my step definition file as :

 var afterScenario = require('../support/afterScenario.js');
 module.exports = function() {
 var newPreCampaignName = null;
this.Given(/^a user is on the Pre-Campaign page$/, function(callback){
        console.log('logged in already');
        newPreCampaignName = 'Automation Campaign 3dHb4';
        console.log(newPreCampaignName);
        setTimeout(callback, 5000);
    });
 var afterHook = new afterScenario(newPreCampaignName,this);
}

Even if i am setting value of global parameter 'newPreCampaignName' in my step definition, its getting passed as null in this call : var afterHook = new afterScenario(newPreCampaignName,this);

Need help in resolving this.

Anuj Verma
  • 21
  • 3

1 Answers1

0

Take newPrecampaign as object. So var newPrecampaign changes to -> var newPreCampaignName = {};

Then add a property name to the above object. for e.g. ->

newPreCampaignName.name = 'campaignName';

So the idea is to pass it as a reference and not by value.

Tom Nijs
  • 3,835
  • 3
  • 22
  • 40
Anuj Verma
  • 21
  • 3