File size: 1,046 Bytes
386cc29 dc7f0d5 386cc29 dc7f0d5 386cc29 dc7f0d5 386cc29 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | 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);
});
|