mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-10-18 21:16:47 +00:00
This commit is contained in:
@@ -254,6 +254,35 @@ describe('Tool: update_place', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('takes an e-mail and structured opening hours, and null clears the hours (#2472)', async () => {
|
||||
const { user } = createUser(testDb);
|
||||
const trip = createTrip(testDb, user.id);
|
||||
const place = createPlace(testDb, trip.id, { name: 'Bakery' });
|
||||
const hours = [{ closed: false, open: '08:00', close: '18:00' }, ...Array.from({ length: 6 }, () => ({ closed: true }))];
|
||||
|
||||
await withHarness(user.id, async (h) => {
|
||||
const data = parseToolResult(await h.client.callTool({
|
||||
name: 'update_place',
|
||||
arguments: { tripId: trip.id, placeId: place.id, email: 'hi@bakery.test', opening_hours: hours },
|
||||
})) as any;
|
||||
expect(data.place.email).toBe('hi@bakery.test');
|
||||
expect(JSON.parse(data.place.opening_hours)).toEqual(hours);
|
||||
|
||||
const cleared = parseToolResult(await h.client.callTool({
|
||||
name: 'update_place',
|
||||
arguments: { tripId: trip.id, placeId: place.id, opening_hours: null },
|
||||
})) as any;
|
||||
expect(cleared.place.opening_hours).toBeNull();
|
||||
expect(cleared.place.email).toBe('hi@bakery.test');
|
||||
|
||||
const bad = await h.client.callTool({
|
||||
name: 'update_place',
|
||||
arguments: { tripId: trip.id, placeId: place.id, email: 'not-an-address' },
|
||||
});
|
||||
expect(bad.isError).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
it('moving a place drops the country Atlas cached for it, renaming it does not (#2527)', async () => {
|
||||
const { user } = createUser(testDb);
|
||||
const trip = createTrip(testDb, user.id);
|
||||
|
||||
@@ -299,6 +299,23 @@ describe('update', () => {
|
||||
expect(updated.lng).toBe(2.3);
|
||||
});
|
||||
|
||||
it('PLACE-SVC-2472 — keeps an e-mail and hand-kept hours, trims the address, empty clears', async () => {
|
||||
const { user } = createUser(testDb);
|
||||
const trip = createTrip(testDb, user.id);
|
||||
const week = '[{"closed":false,"open":"09:00","close":"17:00"},{"closed":false},{"closed":false},{"closed":false},{"closed":false},{"closed":true},{"closed":true}]';
|
||||
const place = svc.create(String(trip.id), { name: 'Bakery', email: ' shop@example.com ', opening_hours: week }) as any;
|
||||
expect(place.email).toBe('shop@example.com');
|
||||
expect(place.opening_hours).toBe(week);
|
||||
|
||||
const renamed = await svc.update(String(trip.id), String(place.id), { name: 'Baker' }) as any;
|
||||
expect(renamed.email).toBe('shop@example.com');
|
||||
expect(renamed.opening_hours).toBe(week);
|
||||
|
||||
const cleared = await svc.update(String(trip.id), String(place.id), { email: '', opening_hours: '' }) as any;
|
||||
expect(cleared.email).toBeNull();
|
||||
expect(cleared.opening_hours).toBeNull();
|
||||
});
|
||||
|
||||
it('PLACE-SVC-014 — returns null for non-existent place', async () => {
|
||||
const { user } = createUser(testDb);
|
||||
const trip = createTrip(testDb, user.id);
|
||||
|
||||
Reference in New Issue
Block a user