test: 국가 턴 lease 재기준화 경계를 고정
daemon이 같은 revision의 lease를 보유한 동안 current-position 입력이 큐를 덮어쓰지 않는 회귀를 추가한다.
This commit is contained in:
@@ -10,6 +10,7 @@ import {
|
|||||||
setGeneralTurn,
|
setGeneralTurn,
|
||||||
setGeneralTurns,
|
setGeneralTurns,
|
||||||
setNationTurn,
|
setNationTurn,
|
||||||
|
setNationTurnAtCurrentPosition,
|
||||||
setNationTurns,
|
setNationTurns,
|
||||||
setNationTurnsAtCurrentPositions,
|
setNationTurnsAtCurrentPositions,
|
||||||
shiftGeneralTurns,
|
shiftGeneralTurns,
|
||||||
@@ -423,4 +424,35 @@ describe('reservedTurns', () => {
|
|||||||
expect(deleteMany).not.toHaveBeenCalled();
|
expect(deleteMany).not.toHaveBeenCalled();
|
||||||
expect(createMany).not.toHaveBeenCalled();
|
expect(createMany).not.toHaveBeenCalled();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('does not rebase a current-position nation write while the daemon lease holds the same revision', async () => {
|
||||||
|
const deleteMany = vi.fn(async () => ({}));
|
||||||
|
const createMany = vi.fn(async () => ({}));
|
||||||
|
const db = {
|
||||||
|
nationTurnRevision: {
|
||||||
|
updateMany: vi.fn(async () => ({ count: 0 })),
|
||||||
|
createMany: vi.fn(async () => ({ count: 0 })),
|
||||||
|
findUnique: vi.fn(async () => ({
|
||||||
|
nationId: 6,
|
||||||
|
officerLevel: 12,
|
||||||
|
revision: 4,
|
||||||
|
leaseOwner: 'daemon-1',
|
||||||
|
leaseExpiresAt: new Date(Date.now() + 60_000),
|
||||||
|
updatedAt: new Date(),
|
||||||
|
})),
|
||||||
|
},
|
||||||
|
nationTurn: {
|
||||||
|
findMany: vi.fn(async () => []),
|
||||||
|
deleteMany,
|
||||||
|
createMany,
|
||||||
|
},
|
||||||
|
} as unknown as DatabaseClient;
|
||||||
|
|
||||||
|
await expect(setNationTurnAtCurrentPosition(db, 6, 12, 2, 'che_증축', {}, 4)).rejects.toMatchObject({
|
||||||
|
expectedRevision: 4,
|
||||||
|
currentRevision: 4,
|
||||||
|
});
|
||||||
|
expect(deleteMany).not.toHaveBeenCalled();
|
||||||
|
expect(createMany).not.toHaveBeenCalled();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user