@tabit/bdd-utils
v3.0.5
Published
utility functions for working with cucumber-js
Downloads
5,550
Keywords
Readme
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 actualoptions.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: falseoptions.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 formatting
verifySetDoesNotIncludeTable(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 formatting
assertValueMatches()
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/business_day/move_business_day.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