From 158279c0ef151aa40b0a3c38d20cd98b896e22bd Mon Sep 17 00:00:00 2001 From: "Michael J. Roberts" Date: Tue, 18 Apr 2023 14:59:34 +0100 Subject: [PATCH] feat: Added client.telescope.isSlewing() route handler. feat: Added client.telescope.isSlewing() route handler. --- src/routes/telescope.ts | 11 +++++++++++ tests/mocks/telescope.ts | 9 +++++++++ tests/telescopeRoutes.spec.ts | 6 ++++++ 3 files changed, 26 insertions(+) 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) + }) }) })