Expand AITURK Turkish settings and desktop surfaces for beta 5
This commit is contained in:
@@ -1,9 +1,13 @@
|
||||
import { QueryClient, QueryClientProvider } from '@tanstack/react-query'
|
||||
import { cleanup, fireEvent, render, screen, waitFor } from '@testing-library/react'
|
||||
import { cleanup, fireEvent, render as renderUi, screen, waitFor } from '@testing-library/react'
|
||||
import type { ReactNode } from 'react'
|
||||
import { MemoryRouter } from 'react-router'
|
||||
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'
|
||||
|
||||
import { I18nProvider, useI18n } from '@/i18n'
|
||||
|
||||
import { renderWithEnglish as render } from '../test-locale'
|
||||
|
||||
import { formatMoney } from './billing-amounts'
|
||||
import {
|
||||
billingDevFixtures,
|
||||
@@ -692,3 +696,38 @@ describe('BillingSettings', () => {
|
||||
expect(screen.queryByText(/Updated/)).toBeNull()
|
||||
})
|
||||
})
|
||||
|
||||
function BillingLocaleSwitch() {
|
||||
const { setLocale } = useI18n()
|
||||
|
||||
return <button onClick={() => void setLocale('tr')}>Türkçe</button>
|
||||
}
|
||||
|
||||
it('switches loaded billing content to Turkish and preserves auto-refill request values', async () => {
|
||||
apiMocks.updateAutoReload.mockResolvedValue({ data: { ok: true }, ok: true })
|
||||
const client = new QueryClient({ defaultOptions: { queries: { retry: false } } })
|
||||
renderUi(
|
||||
<I18nProvider configClient={null} initialLocale="en">
|
||||
<BillingLocaleSwitch />
|
||||
<MemoryRouter initialEntries={['/settings?tab=billing']}>
|
||||
<QueryClientProvider client={client}>
|
||||
<BillingSettings />
|
||||
</QueryClientProvider>
|
||||
</MemoryRouter>
|
||||
</I18nProvider>
|
||||
)
|
||||
await screen.findByText('Buy credits now')
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Türkçe' }))
|
||||
expect(await screen.findByText('Şimdi kredi satın al')).toBeTruthy()
|
||||
expect(screen.queryByText('Buy credits now')).toBeNull()
|
||||
expect(screen.getByText('Bakiye')).toBeTruthy()
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Yönet' }))
|
||||
fireEvent.change(screen.getByRole('spinbutton', { name: 'Otomatik yükleme eşiği' }), { target: { value: '15' } })
|
||||
fireEvent.change(screen.getByRole('spinbutton', { name: 'Otomatik yükleme tutarı' }), { target: { value: '20' } })
|
||||
fireEvent.click(screen.getByRole('button', { name: 'Kaydet' }))
|
||||
await waitFor(() =>
|
||||
expect(apiMocks.updateAutoReload).toHaveBeenCalledWith({ enabled: true, threshold_usd: '15', reload_to_usd: '20' })
|
||||
)
|
||||
expect(await screen.findByText('Otomatik yükleme güncellendi.')).toBeTruthy()
|
||||
expect(apiMocks.charge).not.toHaveBeenCalled()
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user