// AC field on participant + builders. const shared = require('@ttrpg/shared'); const { makeParticipant, buildMonsterParticipant, buildCharacterParticipant, rollHpFormula } = shared; describe('AC field', () => { test('makeParticipant accepts ac', () => { const p = makeParticipant({ name: 'Orc', type: 'monster', initiative: 10, maxHp: 15, currentHp: 15, ac: 13 }); expect(p.ac).toBe(13); }); test('makeParticipant ac defaults null', () => { const p = makeParticipant({ name: 'Orc', type: 'monster', initiative: 10, maxHp: 15, currentHp: 15 }); expect(p.ac).toBeNull(); }); test('buildMonsterParticipant accepts ac', () => { const { participant } = buildMonsterParticipant({ name: 'Goblin', maxHp: 7, initMod: 2, ac: 15 }); expect(participant.ac).toBe(15); }); test('buildMonsterParticipant ac defaults null', () => { const { participant } = buildMonsterParticipant({ name: 'Goblin', maxHp: 7 }); expect(participant.ac).toBeNull(); }); test('buildCharacterParticipant accepts character ac', () => { const { participant } = buildCharacterParticipant({ id: 'c1', name: 'Fighter', defaultMaxHp: 30, defaultInitMod: 2, defaultAc: 18 }); expect(participant.ac).toBe(18); }); test('buildCharacterParticipant ac defaults null when unset', () => { const { participant } = buildCharacterParticipant({ id: 'c1', name: 'Fighter', defaultMaxHp: 30 }); expect(participant.ac).toBeNull(); }); });