|
1 | 1 | import { When } from '@qavajs/cypress-runner-adapter';
|
| 2 | +import { dataTable2Object } from './utils'; |
2 | 3 |
|
3 | 4 | /**
|
4 | 5 | * Save text of element to memory
|
@@ -164,3 +165,79 @@ When('I save bounding rect of {locator} as {value}', function (locator, key) {
|
164 | 165 | key.set(node.get(0).getBoundingClientRect());
|
165 | 166 | });
|
166 | 167 | });
|
| 168 | + |
| 169 | + |
| 170 | +/** |
| 171 | + * ############################## |
| 172 | + */ |
| 173 | + |
| 174 | + |
| 175 | +/** |
| 176 | + * Save value to memory |
| 177 | + * @param {string} alias - value to save or alias for previously saved value |
| 178 | + * @param {string} key - key to store value |
| 179 | + * @example I save 'value' to memory as 'key' |
| 180 | + * @example I save '$getRandomUser()' to memory as 'user' |
| 181 | + */ |
| 182 | +When( |
| 183 | + 'I save {value} to memory as {value}', |
| 184 | + function (expression, key) { |
| 185 | + key.set(expression.value()); |
| 186 | + } |
| 187 | +); |
| 188 | + |
| 189 | +When( |
| 190 | + 'I save multiline string to memory as {value}:', |
| 191 | + function (key, multilineString) { |
| 192 | + const value = this.value(multilineString); |
| 193 | + key.set(value); |
| 194 | + } |
| 195 | +); |
| 196 | + |
| 197 | +/** |
| 198 | + * Save value to memory |
| 199 | + * @param {string} key - key to store value |
| 200 | + * @param {string} value - value to save or alias for previously saved value |
| 201 | + * @example I set 'key' = 'value' |
| 202 | + */ |
| 203 | +When( |
| 204 | + 'I set {value} = {value}', |
| 205 | + function (key, expression) { |
| 206 | + key.set(expression.value()); |
| 207 | + } |
| 208 | +); |
| 209 | + |
| 210 | +/** |
| 211 | + * Save json value to memory |
| 212 | + * @param {string} key - key to store value |
| 213 | + * @param {string} json - multiline string |
| 214 | + * @example I save json to memory as 'key': |
| 215 | + * """ |
| 216 | + * { |
| 217 | + * "someKey": "someValue" |
| 218 | + * } |
| 219 | + * """ |
| 220 | + */ |
| 221 | +When( |
| 222 | + 'I save json to memory as {value}:', |
| 223 | + function (key, json) { |
| 224 | + const value = this.value(json); |
| 225 | + key.set(JSON.parse(value)); |
| 226 | + } |
| 227 | +); |
| 228 | + |
| 229 | +/** |
| 230 | + * Save key-value pairs to memory |
| 231 | + * @param {string} key - key to store value |
| 232 | + * @param {string} kv - key-value |
| 233 | + * @example I save key-value pairs to memory as 'key': |
| 234 | + * | someKey | 42 | |
| 235 | + * | someOtherKey | $valueFromMemory | |
| 236 | + */ |
| 237 | +When( |
| 238 | + 'I save key-value pairs to memory as {value}:', |
| 239 | + function (key, kv) { |
| 240 | + const value = dataTable2Object(this, kv); |
| 241 | + key.set(value); |
| 242 | + } |
| 243 | +); |
0 commit comments