mirror of
https://github.com/fullstack-cash/bch-api.git
synced 2026-09-21 16:52:04 -07:00
97 lines
2.7 KiB
JavaScript
97 lines
2.7 KiB
JavaScript
"use strict"
|
|
|
|
//const chai = require("chai");
|
|
const assert = require("assert")
|
|
const httpMocks = require("node-mocks-http")
|
|
const transactionRoute = require("../../dist/routes/v1/transaction")
|
|
|
|
describe("#TransactionRouter", () => {
|
|
describe("#root", () => {
|
|
it("should return 'transaction' for GET /", () => {
|
|
const mockRequest = httpMocks.createRequest({
|
|
method: "GET",
|
|
url: "/"
|
|
})
|
|
const mockResponse = httpMocks.createResponse()
|
|
transactionRoute(mockRequest, mockResponse)
|
|
const actualResponseBody = mockResponse._getData()
|
|
const expectedResponseBody = {
|
|
status: "transaction"
|
|
}
|
|
assert.deepEqual(JSON.parse(actualResponseBody), expectedResponseBody)
|
|
})
|
|
})
|
|
|
|
describe("#TransactionDetails", () => {
|
|
it("should GET /details/:txid single txid", done => {
|
|
const mockRequest = httpMocks.createRequest({
|
|
method: "GET",
|
|
url:
|
|
'/details/["78b5847f469f3e96b68c49097261d19c10ca5830c1e883333eb80e9252d9df86"%5D'
|
|
})
|
|
const mockResponse = httpMocks.createResponse({
|
|
eventEmitter: require("events").EventEmitter
|
|
})
|
|
transactionRoute(mockRequest, mockResponse)
|
|
|
|
mockResponse.on("end", () => {
|
|
const actualResponseBody = Object.keys(
|
|
JSON.parse(mockResponse._getData())[0]
|
|
)
|
|
assert.deepEqual(actualResponseBody, [
|
|
"txid",
|
|
"version",
|
|
"locktime",
|
|
"vin",
|
|
"vout",
|
|
"blockhash",
|
|
"blockheight",
|
|
"confirmations",
|
|
"time",
|
|
"blocktime",
|
|
"valueOut",
|
|
"size",
|
|
"valueIn",
|
|
"fees"
|
|
])
|
|
done()
|
|
})
|
|
})
|
|
|
|
it("should GET /details/:txid array", done => {
|
|
const mockRequest = httpMocks.createRequest({
|
|
method: "GET",
|
|
url:
|
|
'/details/["113f1fe1c454a56436d4f93c7c6e315d1ed985d111299e9c2a3e2d3d1e9f177f", "f813f112cadd8b32670486dedcf81b4c2242c967759c9b61dee20b7e0830bb85"%5D'
|
|
})
|
|
const mockResponse = httpMocks.createResponse({
|
|
eventEmitter: require("events").EventEmitter
|
|
})
|
|
transactionRoute(mockRequest, mockResponse)
|
|
|
|
mockResponse.on("end", () => {
|
|
const actualResponseBody = Object.keys(
|
|
JSON.parse(mockResponse._getData())[0]
|
|
)
|
|
assert.deepEqual(actualResponseBody, [
|
|
"txid",
|
|
"version",
|
|
"locktime",
|
|
"vin",
|
|
"vout",
|
|
"blockhash",
|
|
"blockheight",
|
|
"confirmations",
|
|
"time",
|
|
"blocktime",
|
|
"valueOut",
|
|
"size",
|
|
"valueIn",
|
|
"fees"
|
|
])
|
|
done()
|
|
})
|
|
})
|
|
})
|
|
})
|