feat(api): show a user pool's Lambda triggers

This commit is contained in:
Zakaria
2026-10-24 02:07:18 -04:00
parent 954e2e8a47
commit d411f632c9
5 changed files with 107 additions and 0 deletions
@@ -64,6 +64,24 @@ test('shows the app client id and the pool users', async () => {
expect(api.getCloudResource).toHaveBeenCalledWith('aws', 'userpools', summary.id, expect.anything())
})
test('lists the pool\'s Lambda triggers with links to the function and its logs', async () => {
api.getCloudResource.mockResolvedValue({...pool('email'), metadata: {...pool('email').metadata, lambdaTriggers: [
{trigger: 'PreTokenGeneration', label: 'Pre token generation', functionArn: 'arn:aws:lambda:us-east-1:000000000000:function:notes-demo-pre-token', functionName: 'notes-demo-pre-token', version: null},
]}})
renderPanel()
expect(await screen.findByText('Pre token generation')).toBeInTheDocument()
expect(screen.getByRole('link', {name: 'Open function notes-demo-pre-token'})).toHaveAttribute('href', '/cloud-explorer/aws/serverless?resource=notes-demo-pre-token')
expect(screen.getByRole('link', {name: 'Open logs for notes-demo-pre-token'})).toHaveAttribute('href', '/cloud-explorer/aws/logs?resource=%2Faws%2Flambda%2Fnotes-demo-pre-token')
})
test('says when a pool has no Lambda triggers', async () => {
api.getCloudResource.mockResolvedValue(pool('email'))
renderPanel()
expect(await screen.findByText('This pool runs no Lambda triggers.')).toBeInTheDocument()
})
test('creates an email user who can sign in immediately', async () => {
const user = userEvent.setup()
api.getCloudResource.mockResolvedValue(pool('email'))