require('bare-process/global') const test = require('brittle') const { HyperP2PAuctionGossip, PROTOCOL } = require('../index.js') test('exports', (t) => { t.ok(HyperP2PAuctionGossip) t.is(PROTOCOL, 'auction-gossip/v1') }) test('open bid close', async (t) => { const m = new HyperP2PAuctionGossip() m.openAuction('a1', { item: 'widget' }) m.placeBid('a1', 10) m.placeBid('a1', 20) const closed = m.closeAuction('a1') t.is(closed.winner.amount, 20) await m.close() }) test('validation', async (t) => { const m = new HyperP2PAuctionGossip() try { m.placeBid('missing', 1) } catch (e) { t.ok(e) } await m.close() }) test('remote bid via gossip', async (t) => { const m = new HyperP2PAuctionGossip() m.openAuction('a1') m._onGossip({ type: 'auction-bid', auctionId: 'a1', bid: { amount: 5, bidder: 'remote', at: 1 } }) t.is(m.getAuction('a1').bids.length, 1) await m.close() }) test('getStats', async (t) => { const m = new HyperP2PAuctionGossip() m.openAuction('x') t.is(m.getStats().opened, 1) await m.close() })