fix: oprava zobrazení ikonky o zaplacení u historických objednávek
CI / Generate TypeScript types (push) Successful in 21s
CI / Server unit tests (push) Successful in 22s
CI / Build server (push) Successful in 35s
CI / Build client (push) Successful in 36s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 40s
CI / Notify (push) Successful in 2s
CI / Generate TypeScript types (push) Successful in 21s
CI / Server unit tests (push) Successful in 22s
CI / Build server (push) Successful in 35s
CI / Build client (push) Successful in 36s
CI / Playwright E2E tests (push) Successful in 1m18s
CI / Build and push Docker image (push) Successful in 40s
CI / Notify (push) Successful in 2s
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import { resetMemoryStorage } from '../storage/memory';
|
||||
import { getStores, addStore } from '../stores';
|
||||
import { createGroup, deleteGroup, addGroupMember, removeGroupMember, updateGroupMember, setGroupState, setGroupBoltTracking } from '../groups';
|
||||
import { createGroup, deleteGroup, addGroupMember, removeGroupMember, updateGroupMember, setGroupState, setGroupBoltTracking, markGroupMemberPaid } from '../groups';
|
||||
import { GroupState } from '../../../types/gen/types.gen';
|
||||
|
||||
const CREATOR = 'tomas';
|
||||
@@ -202,3 +202,36 @@ describe('setGroupState', () => {
|
||||
expect(d.groups![0].boltTrackingToken).toBeUndefined();
|
||||
});
|
||||
});
|
||||
|
||||
describe('markGroupMemberPaid', () => {
|
||||
test('označí člena jako zaplaceného pro daný den', async () => {
|
||||
const d = await createGroup(CREATOR, STORE, TODAY);
|
||||
const groupId = d.groups![0].id;
|
||||
const result = await markGroupMemberPaid(CREATOR, groupId, TODAY);
|
||||
expect(result).not.toBeNull();
|
||||
expect(result!.groups![0].members[CREATOR].paid).toBe(true);
|
||||
});
|
||||
|
||||
test('vrátí null pro neexistující skupinu', async () => {
|
||||
const result = await markGroupMemberPaid(CREATOR, 'nonexistent', TODAY);
|
||||
expect(result).toBeNull();
|
||||
});
|
||||
|
||||
// Regrese: potvrzení platby jiný den, než vznikla objednávka, se musí zapsat
|
||||
// ke dni objednávky – jinak se příznak ztratí a zelené zatržítko se nezobrazí.
|
||||
test('zapíše platbu ke dni objednávky i při potvrzení jiný den', async () => {
|
||||
const orderDay = new Date('2025-01-10');
|
||||
const d = await createGroup(CREATOR, STORE, orderDay);
|
||||
const groupId = d.groups![0].id;
|
||||
|
||||
// Uživatel potvrzuje platbu jiný den, ale předáváme datum objednávky.
|
||||
const result = await markGroupMemberPaid(CREATOR, groupId, orderDay);
|
||||
expect(result).not.toBeNull();
|
||||
expect(result!.groups![0].members[CREATOR].paid).toBe(true);
|
||||
|
||||
// Skupina pod jiným dnem neexistuje – ověříme, že tam příznak omylem nevznikl.
|
||||
const otherDay = new Date('2025-01-15');
|
||||
const onOtherDay = await markGroupMemberPaid(CREATOR, groupId, otherDay);
|
||||
expect(onOtherDay).toBeNull();
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user