like
Matching for primitive data types.
Syntax
js
like(input)
Usage
โ Correct Usage
js
// string
like('one')
js
// number
like(1)
js
// boolean
like(true)
js
// object
like({
name: 'mom',
age: 50
})
โ Incorrect Usage
js
// array - instead use eachLike
like([1, 2])
js
// nested objects
// like only applies for the root properties
// - 'name'
// - 'age'
// - 'address'
like({
name: 'mom',
age: 50,
address: {
street: 'road no 60',
pin: 500500
}
})
Arguments
> input (string|number|boolean|object)
Input to match with.
Examples
Assertions
In this example, we are asserting the response from random-user api. The results from the server are dynamic, so we are using the like matcher in expectJsonMatch to validate the type of the values instead of the content.
gendershould be a string.nameshould be a object and it should includefirstand it should be a string
dobshould be a object and it should includedateand it should be a stringageand it should be a number
js
const { spec } = require('pactum');
const { like } = require('pactum-matchers');
await spec()
.get('https://randomuser.me/api')
.expectJsonMatch({
"results": [
{
"gender": like("male"),
"name": {
"first": like("Amira"),
},
"dob": like({
"date": "1949-02-09T12:49:15.975Z"
"age": 67
})
}
]
});