diff --git a/src/routes/telescope.ts b/src/routes/telescope.ts index 5d6bae5..4c2c059 100644 --- a/src/routes/telescope.ts +++ b/src/routes/telescope.ts @@ -26,6 +26,17 @@ export const telescope = ( const url = new URL('telescope/connected', base) return dispatchRequest(url, init, headers) } + }, + { + name: 'isSlewing', + action: < + T = { + slewing: boolean + } + >() => { + const url = new URL('telescope/slewing', base) + return dispatchRequest(url, init, headers) + } } ] as const diff --git a/tests/mocks/telescope.ts b/tests/mocks/telescope.ts index 61c100a..5c44334 100644 --- a/tests/mocks/telescope.ts +++ b/tests/mocks/telescope.ts @@ -21,6 +21,15 @@ export const telescopeHandlers: Handler[] = [ connected: true } }) + }, + { + method: 'GET', + url: '/api/v1/telescope/slewing', + handler: eventHandler(_event => { + return { + slewing: false + } + }) } ] diff --git a/tests/telescopeRoutes.spec.ts b/tests/telescopeRoutes.spec.ts index f25419e..19b6a62 100644 --- a/tests/telescopeRoutes.spec.ts +++ b/tests/telescopeRoutes.spec.ts @@ -21,5 +21,11 @@ suite('@observerly/hyper Fiber API Telescope Client', () => { const { connected } = await client.telescope.isConnected() expect(connected).toBe(true) }) + + it('should be able to determine the slewing status of the telescope', async () => { + const client = setupClient(getURL('/api/v1/')) + const { slewing } = await client.telescope.isSlewing() + expect(slewing).toBe(false) + }) }) })