feat(characters): expose persisted silver on the character endpoint
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,6 +13,7 @@ describe('CharactersService', () => {
|
|||||||
name: 'Aric Duskwalker',
|
name: 'Aric Duskwalker',
|
||||||
level: 1,
|
level: 1,
|
||||||
experience: 0,
|
experience: 0,
|
||||||
|
silver: 0,
|
||||||
currentHp: 100,
|
currentHp: 100,
|
||||||
baseHp: 100,
|
baseHp: 100,
|
||||||
baseAttack: 6,
|
baseAttack: 6,
|
||||||
@@ -30,6 +31,7 @@ describe('CharactersService', () => {
|
|||||||
name: 'Aric Duskwalker',
|
name: 'Aric Duskwalker',
|
||||||
level: 1,
|
level: 1,
|
||||||
experience: 0,
|
experience: 0,
|
||||||
|
silver: 0,
|
||||||
currentHp: 100,
|
currentHp: 100,
|
||||||
maxHp: 100,
|
maxHp: 100,
|
||||||
attack: 6,
|
attack: 6,
|
||||||
@@ -45,6 +47,31 @@ describe('CharactersService', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('exposes the persisted silver so the HUD never has to guess', async () => {
|
||||||
|
const repository = {
|
||||||
|
findOne: jest.fn().mockResolvedValue({
|
||||||
|
id: DEMO_CHARACTER_ID,
|
||||||
|
name: 'Aric Duskwalker',
|
||||||
|
level: 1,
|
||||||
|
experience: 24,
|
||||||
|
silver: 18,
|
||||||
|
currentHp: 100,
|
||||||
|
baseHp: 100,
|
||||||
|
baseAttack: 6,
|
||||||
|
currentLocation: {
|
||||||
|
id: SOUTH_GATE_ID,
|
||||||
|
key: 'south-gate',
|
||||||
|
name: 'Südtor von Graufurt',
|
||||||
|
},
|
||||||
|
}),
|
||||||
|
} as unknown as Repository<Character>;
|
||||||
|
const service = new CharactersService(repository);
|
||||||
|
|
||||||
|
await expect(service.getDemoCharacter()).resolves.toEqual(
|
||||||
|
expect.objectContaining({ experience: 24, silver: 18 }),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
it('reports a missing demo seed as not found', async () => {
|
it('reports a missing demo seed as not found', async () => {
|
||||||
const repository = {
|
const repository = {
|
||||||
findOne: jest.fn().mockResolvedValue(null),
|
findOne: jest.fn().mockResolvedValue(null),
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ export class CharactersService {
|
|||||||
name: character.name,
|
name: character.name,
|
||||||
level: character.level,
|
level: character.level,
|
||||||
experience: character.experience,
|
experience: character.experience,
|
||||||
|
silver: character.silver,
|
||||||
currentHp: character.currentHp,
|
currentHp: character.currentHp,
|
||||||
maxHp: character.baseHp,
|
maxHp: character.baseHp,
|
||||||
attack: character.baseAttack,
|
attack: character.baseAttack,
|
||||||
|
|||||||
Reference in New Issue
Block a user