This library provides the capability to transit variables between step and access them from gherkin definitions
npm install @qavajs/memory
Lib resolves provided value from storage
const memory = require('@qavajs/memory');
When(/^save variable as '(.+)'$/, async function (key) {
memory.setValue(key, 42);
});
Then(/^value '(.+)' should be equal to '(.+)'$/, async function (variable1, variable2) {
const val = memory.getValue(variable1);
expect(val).to.equal(variable2);
});
When save variable as 'variable'
Then value of '$variable' should be equal to '42'
Lib provides capability to set constant values and computed (values that calculated in the moment of call)
module.exports = {
CONSTANT: 42,
now: function() {
return Date.now()
}
};
Before using memory it needs to be registered. The best place to do it is Before hook
const memory = require('@qavajs/memory');
const memoryMap = require('./memoryMap.js')
Before(async function() {
memory.register(memoryMap);
});
$ can be escaped with double backslash
When I expect text of 'Currency Label' to equal '\\$42'