|
|
|
@@ -34,9 +34,15 @@ async function countGeneratorRatioRows(page: Page) { |
|
|
|
async function fetchModelPricing( |
|
|
|
request: APIRequestContext, |
|
|
|
model: string, |
|
|
|
userId: number, |
|
|
|
): Promise<ModelPricingConfig> { |
|
|
|
const response = await request.get( |
|
|
|
`/api/option/model_pricing/${encodeURIComponent(model)}`, |
|
|
|
{ |
|
|
|
headers: { |
|
|
|
'New-API-User': String(userId), |
|
|
|
}, |
|
|
|
}, |
|
|
|
); |
|
|
|
expect(response.ok()).toBeTruthy(); |
|
|
|
return (await response.json()) as ModelPricingConfig; |
|
|
|
@@ -70,9 +76,9 @@ test.describe.serial('Model Pricing E2E', () => { |
|
|
|
await fillByTestId(page, 'generator-base-price', '0.2'); |
|
|
|
|
|
|
|
const generator = page.getByTestId('model-pricing-generator'); |
|
|
|
await generator.locator('input[value="replace_all"]').check({ force: true }); |
|
|
|
await generator.getByTestId('generator-strategy-replace-all').click(); |
|
|
|
const qualityRowIndex = (await countGeneratorRatioRows(page)) - 1; |
|
|
|
await fillByTestId(page, `generator-ratio-value-${qualityRowIndex}`, 'standard'); |
|
|
|
await fillByTestId(page, `generator-ratio-value-${qualityRowIndex}`, '2'); |
|
|
|
await fillByTestId(page, `generator-ratio-ratio-${qualityRowIndex}`, '1.5'); |
|
|
|
await expect(page.getByTestId('generator-apply')).toBeEnabled(); |
|
|
|
await page.getByTestId('generator-apply').click(); |
|
|
|
@@ -99,7 +105,13 @@ test.describe.serial('Model Pricing E2E', () => { |
|
|
|
await page.getByTestId(`model-pricing-edit-${model}`).click(); |
|
|
|
await expect(page.getByTestId('model-pricing-editor')).toBeVisible(); |
|
|
|
|
|
|
|
const data = await fetchModelPricing(request, model); |
|
|
|
const rootUserId = await page.evaluate(() => { |
|
|
|
const user = window.localStorage.getItem('user'); |
|
|
|
return user ? JSON.parse(user).id : null; |
|
|
|
}); |
|
|
|
expect(typeof rootUserId).toBe('number'); |
|
|
|
|
|
|
|
const data = await fetchModelPricing(request, model, rootUserId as number); |
|
|
|
expect(data.success).toBe(true); |
|
|
|
expect(data.data.schema_version).toBe(1); |
|
|
|
expect(data.data.scope).toBe('model'); |
|
|
|
|