feat(api): complete M5 swap and dispatch backend slice
This commit is contained in:
@@ -38,6 +38,8 @@ function createMobileQueryService() {
|
||||
listCoverageByDate: async () => ([{ shiftId: 'coverage-1' }]),
|
||||
listCoreTeam: async () => ([{ staffId: 'core-1' }]),
|
||||
listCompletedShifts: async () => ([{ shiftId: 'completed-1' }]),
|
||||
listCoverageDispatchCandidates: async () => ([{ staffId: 'dispatch-1' }]),
|
||||
listCoverageDispatchTeams: async () => ([{ membershipId: 'dispatch-team-1' }]),
|
||||
listEmergencyContacts: async () => ([{ contactId: 'ec-1' }]),
|
||||
listFaqCategories: async () => ([{ id: 'faq-1', title: 'Clock in' }]),
|
||||
listGeofenceIncidents: async () => ([{ incidentId: 'incident-1' }]),
|
||||
@@ -61,6 +63,7 @@ function createMobileQueryService() {
|
||||
listTaxForms: async () => ([{ formType: 'W4' }]),
|
||||
listAttireChecklist: async () => ([{ documentId: 'attire-1' }]),
|
||||
listTimeCardEntries: async () => ([{ entryId: 'tc-1' }]),
|
||||
listSwapRequests: async () => ([{ swapRequestId: 'swap-1' }]),
|
||||
listTodayShifts: async () => ([{ shiftId: 'today-1' }]),
|
||||
listVendorRoles: async () => ([{ roleId: 'role-1' }]),
|
||||
listVendors: async () => ([{ vendorId: 'vendor-1' }]),
|
||||
@@ -138,6 +141,36 @@ test('GET /query/client/coverage/incidents returns injected incidents list', asy
|
||||
assert.equal(res.body.items[0].incidentId, 'incident-1');
|
||||
});
|
||||
|
||||
test('GET /query/client/coverage/swap-requests returns injected swap request list', async () => {
|
||||
const app = createApp({ mobileQueryService: createMobileQueryService() });
|
||||
const res = await request(app)
|
||||
.get('/query/client/coverage/swap-requests?status=OPEN')
|
||||
.set('Authorization', 'Bearer test-token');
|
||||
|
||||
assert.equal(res.status, 200);
|
||||
assert.equal(res.body.items[0].swapRequestId, 'swap-1');
|
||||
});
|
||||
|
||||
test('GET /query/client/coverage/dispatch-teams returns injected dispatch team memberships', async () => {
|
||||
const app = createApp({ mobileQueryService: createMobileQueryService() });
|
||||
const res = await request(app)
|
||||
.get('/query/client/coverage/dispatch-teams')
|
||||
.set('Authorization', 'Bearer test-token');
|
||||
|
||||
assert.equal(res.status, 200);
|
||||
assert.equal(res.body.items[0].membershipId, 'dispatch-team-1');
|
||||
});
|
||||
|
||||
test('GET /query/client/coverage/dispatch-candidates returns injected candidate list', async () => {
|
||||
const app = createApp({ mobileQueryService: createMobileQueryService() });
|
||||
const res = await request(app)
|
||||
.get('/query/client/coverage/dispatch-candidates?shiftId=shift-1')
|
||||
.set('Authorization', 'Bearer test-token');
|
||||
|
||||
assert.equal(res.status, 200);
|
||||
assert.equal(res.body.items[0].staffId, 'dispatch-1');
|
||||
});
|
||||
|
||||
test('GET /query/staff/profile/tax-forms returns injected tax forms', async () => {
|
||||
const app = createApp({ mobileQueryService: createMobileQueryService() });
|
||||
const res = await request(app)
|
||||
|
||||
Reference in New Issue
Block a user