import test from 'node:test'; import assert from 'node:assert/strict'; import { parseBulkAddInput } from '../src/bulk-add.js'; test('parses multiple valid bulk add lines', () => { const parsed = parseBulkAddInput('FanDuel', 'MLB', 'Bryan Rocchio 1+ HR | +1450 | $5\n3 leg parlay | +1452 | $5'); assert.equal(parsed.ok, true); assert.equal(parsed.accepted.length, 2); assert.equal(parsed.rejected.length, 0); assert.equal(parsed.accepted[0].bet.book, 'FanDuel'); }); test('rejects malformed lines but keeps valid ones', () => { const parsed = parseBulkAddInput('BetMGM', 'MLB', 'Valid prop | +100 | $2.50\nbad line here'); assert.equal(parsed.ok, true); assert.equal(parsed.accepted.length, 1); assert.equal(parsed.rejected.length, 1); assert.match(parsed.rejected[0].reason, /Use `prop \| odds \| stake`/); }); test('fails when no valid lines exist', () => { const parsed = parseBulkAddInput('DraftKings', 'NBA', 'not valid'); assert.equal(parsed.ok, false); assert.match(parsed.error, /No valid bet lines/i); });