fix(account): 修复账号管理中的状态筛选
This commit is contained in:
@@ -27,7 +27,7 @@ const updatePrivacyMode = (value: string | number | boolean | null) => { emit('u
|
|||||||
const updateGroup = (value: string | number | boolean | null) => { emit('update:filters', { ...props.filters, group: value }) }
|
const updateGroup = (value: string | number | boolean | null) => { emit('update:filters', { ...props.filters, group: value }) }
|
||||||
const pOpts = computed(() => [{ value: '', label: t('admin.accounts.allPlatforms') }, { value: 'anthropic', label: 'Anthropic' }, { value: 'openai', label: 'OpenAI' }, { value: 'gemini', label: 'Gemini' }, { value: 'antigravity', label: 'Antigravity' }])
|
const pOpts = computed(() => [{ value: '', label: t('admin.accounts.allPlatforms') }, { value: 'anthropic', label: 'Anthropic' }, { value: 'openai', label: 'OpenAI' }, { value: 'gemini', label: 'Gemini' }, { value: 'antigravity', label: 'Antigravity' }])
|
||||||
const tOpts = computed(() => [{ value: '', label: t('admin.accounts.allTypes') }, { value: 'oauth', label: t('admin.accounts.oauthType') }, { value: 'setup-token', label: t('admin.accounts.setupToken') }, { value: 'apikey', label: t('admin.accounts.apiKey') }, { value: 'bedrock', label: 'AWS Bedrock' }])
|
const tOpts = computed(() => [{ value: '', label: t('admin.accounts.allTypes') }, { value: 'oauth', label: t('admin.accounts.oauthType') }, { value: 'setup-token', label: t('admin.accounts.setupToken') }, { value: 'apikey', label: t('admin.accounts.apiKey') }, { value: 'bedrock', label: 'AWS Bedrock' }])
|
||||||
const sOpts = computed(() => [{ value: '', label: t('admin.accounts.allStatus') }, { value: 'active', label: t('admin.accounts.status.active') }, { value: 'inactive', label: t('admin.accounts.status.inactive') }, { value: 'error', label: t('admin.accounts.status.error') }, { value: 'rate_limited', label: t('admin.accounts.status.rateLimited') }, { value: 'temp_unschedulable', label: t('admin.accounts.status.tempUnschedulable') }])
|
const sOpts = computed(() => [{ value: '', label: t('admin.accounts.allStatus') }, { value: 'active', label: t('admin.accounts.status.active') }, { value: 'inactive', label: t('admin.accounts.status.inactive') }, { value: 'error', label: t('admin.accounts.status.error') }, { value: 'rate_limited', label: t('admin.accounts.status.rateLimited') }, { value: 'temp_unschedulable', label: t('admin.accounts.status.tempUnschedulable') }, { value: 'unschedulable', label: t('admin.accounts.status.unschedulable') }])
|
||||||
const privacyOpts = computed(() => [
|
const privacyOpts = computed(() => [
|
||||||
{ value: '', label: t('admin.accounts.allPrivacyModes') },
|
{ value: '', label: t('admin.accounts.allPrivacyModes') },
|
||||||
{ value: '__unset__', label: t('admin.accounts.privacyUnset') },
|
{ value: '__unset__', label: t('admin.accounts.privacyUnset') },
|
||||||
|
|||||||
@@ -1,56 +0,0 @@
|
|||||||
import { describe, expect, it, vi } from 'vitest'
|
|
||||||
import { mount } from '@vue/test-utils'
|
|
||||||
|
|
||||||
import AccountTableFilters from '../AccountTableFilters.vue'
|
|
||||||
|
|
||||||
vi.mock('vue-i18n', async () => {
|
|
||||||
const actual = await vi.importActual<typeof import('vue-i18n')>('vue-i18n')
|
|
||||||
return {
|
|
||||||
...actual,
|
|
||||||
useI18n: () => ({
|
|
||||||
t: (key: string) => key
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
describe('AccountTableFilters', () => {
|
|
||||||
it('renders privacy mode options and emits privacy_mode updates', async () => {
|
|
||||||
const wrapper = mount(AccountTableFilters, {
|
|
||||||
props: {
|
|
||||||
searchQuery: '',
|
|
||||||
filters: {
|
|
||||||
platform: '',
|
|
||||||
type: '',
|
|
||||||
status: '',
|
|
||||||
group: '',
|
|
||||||
privacy_mode: ''
|
|
||||||
},
|
|
||||||
groups: []
|
|
||||||
},
|
|
||||||
global: {
|
|
||||||
stubs: {
|
|
||||||
SearchInput: {
|
|
||||||
template: '<div />'
|
|
||||||
},
|
|
||||||
Select: {
|
|
||||||
props: ['modelValue', 'options'],
|
|
||||||
emits: ['update:modelValue', 'change'],
|
|
||||||
template: '<div class="select-stub" :data-options="JSON.stringify(options)" />'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
const selects = wrapper.findAll('.select-stub')
|
|
||||||
expect(selects).toHaveLength(5)
|
|
||||||
|
|
||||||
const privacyOptions = JSON.parse(selects[3].attributes('data-options'))
|
|
||||||
expect(privacyOptions).toEqual([
|
|
||||||
{ value: '', label: 'admin.accounts.allPrivacyModes' },
|
|
||||||
{ value: '__unset__', label: 'admin.accounts.privacyUnset' },
|
|
||||||
{ value: 'training_off', label: 'Privacy' },
|
|
||||||
{ value: 'training_set_cf_blocked', label: 'CF' },
|
|
||||||
{ value: 'training_set_failed', label: 'Fail' }
|
|
||||||
])
|
|
||||||
})
|
|
||||||
})
|
|
||||||
Reference in New Issue
Block a user