diff --git a/web/app/components/header/account-setting/model-provider-page/provider-added-card/model-auth-dropdown/__tests__/usage-priority-section.spec.tsx b/web/app/components/header/account-setting/model-provider-page/provider-added-card/model-auth-dropdown/__tests__/usage-priority-section.spec.tsx
index c400d05f22..06234f37c7 100644
--- a/web/app/components/header/account-setting/model-provider-page/provider-added-card/model-auth-dropdown/__tests__/usage-priority-section.spec.tsx
+++ b/web/app/components/header/account-setting/model-provider-page/provider-added-card/model-auth-dropdown/__tests__/usage-priority-section.spec.tsx
@@ -2,6 +2,9 @@ import { fireEvent, render, screen } from '@testing-library/react'
import { PreferredProviderTypeEnum } from '../../../declarations'
import UsagePrioritySection from '../usage-priority-section'
+const AI_CREDITS_BUTTON_NAME = 'common.modelProvider.card.aiCreditsOption'
+const API_KEY_BUTTON_NAME = 'common.modelProvider.card.apiKeyOption'
+
describe('UsagePrioritySection', () => {
const onSelect = vi.fn()
@@ -15,7 +18,8 @@ describe('UsagePrioritySection', () => {
render()
expect(screen.getByText(/usagePriority/))!.toBeInTheDocument()
- expect(screen.getAllByRole('button')).toHaveLength(2)
+ expect(screen.getByRole('button', { name: AI_CREDITS_BUTTON_NAME })).toBeInTheDocument()
+ expect(screen.getByRole('button', { name: API_KEY_BUTTON_NAME })).toBeInTheDocument()
})
})
@@ -24,24 +28,26 @@ describe('UsagePrioritySection', () => {
it('should highlight AI credits option when value is credits', () => {
render()
- const buttons = screen.getAllByRole('button')
- expect(buttons[0]!.className).toContain('border-components-option-card-option-selected-border')
- expect(buttons[1]!.className).not.toContain('border-components-option-card-option-selected-border')
+ const aiCredits = screen.getByRole('button', { name: AI_CREDITS_BUTTON_NAME })
+ const apiKey = screen.getByRole('button', { name: API_KEY_BUTTON_NAME })
+ expect(aiCredits.className).toContain('border-components-option-card-option-selected-border')
+ expect(apiKey.className).not.toContain('border-components-option-card-option-selected-border')
})
it('should highlight API key option when value is apiKey', () => {
render()
- const buttons = screen.getAllByRole('button')
- expect(buttons[0]!.className).not.toContain('border-components-option-card-option-selected-border')
- expect(buttons[1]!.className).toContain('border-components-option-card-option-selected-border')
+ const aiCredits = screen.getByRole('button', { name: AI_CREDITS_BUTTON_NAME })
+ const apiKey = screen.getByRole('button', { name: API_KEY_BUTTON_NAME })
+ expect(aiCredits.className).not.toContain('border-components-option-card-option-selected-border')
+ expect(apiKey.className).toContain('border-components-option-card-option-selected-border')
})
it('should highlight API key option when value is apiKeyOnly', () => {
render()
- const buttons = screen.getAllByRole('button')
- expect(buttons[1]!.className).toContain('border-components-option-card-option-selected-border')
+ const apiKey = screen.getByRole('button', { name: API_KEY_BUTTON_NAME })
+ expect(apiKey.className).toContain('border-components-option-card-option-selected-border')
})
})
@@ -50,7 +56,7 @@ describe('UsagePrioritySection', () => {
it('should call onSelect with system when clicking AI credits option', () => {
render()
- fireEvent.click(screen.getAllByRole('button')[0]!)
+ fireEvent.click(screen.getByRole('button', { name: AI_CREDITS_BUTTON_NAME }))
expect(onSelect).toHaveBeenCalledWith(PreferredProviderTypeEnum.system)
})
@@ -58,7 +64,7 @@ describe('UsagePrioritySection', () => {
it('should call onSelect with custom when clicking API key option', () => {
render()
- fireEvent.click(screen.getAllByRole('button')[1]!)
+ fireEvent.click(screen.getByRole('button', { name: API_KEY_BUTTON_NAME }))
expect(onSelect).toHaveBeenCalledWith(PreferredProviderTypeEnum.custom)
})