I'm trying to compare two higher order functions using jest matchers. I have already looked at how do I compare 2 functions in javascript and that doesn't answer my question.
it("should return a function based on regex",() => {
const expectedFunc = (record) => RegExp("DATE").test(record.name)
function filter(regex){
return (record) => RegExp(regex).test(record.name)
}
expect( filter("DATE").toString()).toEqual(expectedFunc.toString())
})
Result
should return a function based on regex
expect(received).toEqual(expected)
Expected value to equal:
"record => RegExp(\"DATE\").test(record.name)"
Received:
"record => RegExp(regex).test(record.name)"
Updated my test based on answer by Code-Apprentice
it("should return a function based on regex",() => {
function filter(regex){
return (record) => RegExp(regex).test(record)
}
expect( filter("DATE")("this record has DATE")).toEqual(true)
})