bdd-utils
utility functions for working with cucumber-js
Global
objectsMatch(object, subset, formatSubset, context, matchNulls)
Checks that @object includes @subset. Nulls in @subset must be null in @object. Fields in subset with the value '' are ignored. Parameters object: , Checks that @object includes @subset. Nulls in @subset must be null in @object. Fields in subset with the value '' are ignored. subset: , Checks that @object includes @subset. Nulls in @subset must be null in @object. Fields in subset with the value '' are ignored. formatSubset: , Checks that @object includes @subset. Nulls in @subset must be null in @object. Fields in subset with the value '' are ignored. context: , Checks that @object includes @subset. Nulls in @subset must be null in @object. Fields in subset with the value '' are ignored. matchNulls: , Checks that @object includes @subset. Nulls in @subset must be null in @object. Fields in subset with the value '' are ignored. Returns:boolean
verifyObjectIncludes()
Supports path notations in keys (see lodash .get) Check for null with expected of "-" Evaluate expression by surrounding it with double-curly braces, e.g., {{this.order.id}} Verify against regex by passing in (escaped) regex syntax, e.g., /^\\d+$/verifySetIncludes(source, expectedSubSet, context, options)
Parameters source: expectedSubSet: context: options:Object | String
, options object or error message to append when verification fails.
- options.matchNulls: Boolean
, true to verify that nulls in the expected set match nulls in the actual
- options.formatSubset: Boolean
- options.strictOrder: Boolean
, if true, and the expectedSubSet is an array,
the expectedSubSet must be in the same order as the source. default: false
- options.saveLinks: Boolean
, true to save and return elements with "link" fields, and delete the "link" field
before verifying.
verifySetIncludesBy(source, expectedSubSet, matchFactory, context, message)
Verifies that @source includes @expectedSubSet by using @matcher to match entries in @expectedSubSet with elements in @source and, if a match is found, verifying that the matched entry (in @source) includes the expected entry (in @expectedSubSet) by using the this.verifyObjectIncludes function. Parameters source:Array
, the array of elements to test
expectedSubSet: Array
, the array of elements against which to verify
matchFactory: function
, a function that returns a lodash matcher to match elements in @source.
Invoked with one argument: the current entry from @expectedSubSet that should be matched against.
context: , Verifies that @source includes @expectedSubSet by using @matcher to match entries in @expectedSubSet
with elements in @source and, if a match is found, verifying that the matched entry (in @source) includes
the expected entry (in @expectedSubSet) by using the this.verifyObjectIncludes function.
message: , Verifies that @source includes @expectedSubSet by using @matcher to match entries in @expectedSubSet
with elements in @source and, if a match is found, verifying that the matched entry (in @source) includes
the expected entry (in @expectedSubSet) by using the this.verifyObjectIncludes function.
verifySetMatchesTable(source, table, context, expectedCollectionName, validateCount, formatOptions, verifyOptions)
Same as @verifySetIncludes except also verifies and handles table formatting Parameters source: , Same as @verifySetIncludes except also verifies and handles table formatting table: , Same as @verifySetIncludes except also verifies and handles table formatting context: , Same as @verifySetIncludes except also verifies and handles table formatting expectedCollectionName:String
, Same as @verifySetIncludes except also verifies and handles table formatting
validateCount: Boolean
, Same as @verifySetIncludes except also verifies and handles table formatting
formatOptions: Option
, Same as @verifySetIncludes except also verifies and handles table formatting
verifyOptions: Option
, Same as @verifySetIncludes except also verifies and handles table formatting
verifyObjectIncludesTable(source, table, context, expectedCollectionName)
Same as verifyObjectIncludes except also verifies and handles table formatting Parameters source: , Same as verifyObjectIncludes except also verifies and handles table formatting table: , Same as verifyObjectIncludes except also verifies and handles table formatting context: , Same as verifyObjectIncludes except also verifies and handles table formatting expectedCollectionName: , Same as verifyObjectIncludes except also verifies and handles table formattingverifySetDoesNotIncludeTable(source, table, context, expectedCollectionName)
Same as @verifySetDoesNotInclude except also verifies and handles table formatting Parameters source: , Same as @verifySetDoesNotInclude except also verifies and handles table formatting table: , Same as @verifySetDoesNotInclude except also verifies and handles table formatting context: , Same as @verifySetDoesNotInclude except also verifies and handles table formatting expectedCollectionName: , Same as @verifySetDoesNotInclude except also verifies and handles table formattingassertValueMatches()
Supports path notations in keys (see lodash .get) Check for null with expected of "-" Evaluate expression by surrounding it with double-curly braces, e.g., {{this.order.id}} Verify against regex by passing in (escaped) regex syntax, e.g., /^\\d+$/ Checks for true/false if expected is "true" or "false"formatExpectedObject(expected, context)
Deprecated: -- use "format" method Parameters expected: context: Returns:Object
formatAndCamelCase(object, context, options)
Parameters object: context: options: - options.context: , - the test context (world) - options.parseAll: - options.parseNumbers: - options.parseDates: - options.parseBooleans: - options.parseJson: - options.minusAsNull: - options.parseCurrency: - options.parseIntegerDates: - options.numbersToCents: - options.currencyToCents: - options.plusAsExists: - options.excludeMinuses: - options.excludeFalsey: - options.mergeHeadless: Returns:*
keysToCamelCase(object, options)
Deprecated: - Use formatAndCamelCase instead Parameters object: options: , TODO Returns:*
stubMethod(context, target, targetName, methodName, response)
Parameters context:World
, - the test context
target: Object
, - the object whose method should be stubbed
targetName: String
, - the target name for logging purposes
methodName: String
, - the method to stub
response: function | *
, - the response the stub should return or
a function who result the stub should return.
Returns: *
buildPaths(object, options)
Converts any path-style key-values into real nested key-values. E.g., {"some.key": 99} will be converted to {some: {key: 99}} Parameters object: , Converts any path-style key-values into real nested key-values. E.g., {"some.key": 99} will be converted to {some: {key: 99}} options: , - readValue options - options.parseJson: , - parse JSON - options.minusAsNull: , - convert minus ("-") to null Returns:*
utcToLocalTimeInt()
Used by dynamic resolvers, e.g., in features/businessday/movebusinessday.feature Do not modify/delete without validating consumers!rowsHash(table)
Extract cucumbers' rowsHash(), but turn duplicates to array Parameters table:cucumber.Table
, The table passed by cucumber to the step implementation
hashes(table)
Extract cucumbers' hashes(), but turn duplicates to array Parameters table:cucumber.Table
, The table passed by cucumber to the step implementation