dagger-contracts/test/requests.js
Eric Mastro cde5436262
get request from slot id (#34)
* get request from slot id

- Add public function to get request from slot id.
- Add chai test assertion that compares requests. Usage: `expect(await marketplace.getRequestFromSlotId(slotId(slot))).to.be.request(request)`

This is used when restoring active sales, and a node calls `mySlots`, then iterates the slots and needs originating request details.

* merge upstream changes
2023-01-24 15:59:56 +11:00

49 lines
1.2 KiB
JavaScript

const { Assertion } = require("chai")
const RequestState = {
New: 0,
Started: 1,
Cancelled: 2,
Finished: 3,
Failed: 4,
}
const SlotState = {
Free: 0,
Filled: 1,
Finished: 2,
Failed: 3,
Paid: 4,
}
const enableRequestAssertions = function () {
// language chain method
Assertion.addMethod("request", function (request) {
var actual = this._obj
this.assert(
actual.client === request.client,
"expected request #{this} to have client #{exp} but got #{act}",
"expected request #{this} to not have client #{act}, expected #{exp}",
request.client, // expected
actual.client // actual
)
this.assert(
actual.expiry == request.expiry,
"expected request #{this} to have expiry #{exp} but got #{act}",
"expected request #{this} to not have expiry #{act}, expected #{exp}",
request.expiry, // expected
actual.expiry // actual
)
this.assert(
actual.nonce === request.nonce,
"expected request #{this} to have nonce #{exp} but got #{act}",
"expected request #{this} to not have nonce #{act}, expected #{exp}",
request.nonce, // expected
actual.nonce // actual
)
})
}
module.exports = { RequestState, SlotState, enableRequestAssertions }