feat:新增dify1.11.1版本
This commit is contained in:
81
dify_1.11.1/web/context/provider-context-mock.spec.tsx
Normal file
81
dify_1.11.1/web/context/provider-context-mock.spec.tsx
Normal file
@@ -0,0 +1,81 @@
|
||||
import { render } from '@testing-library/react'
|
||||
import type { UsagePlanInfo } from '@/app/components/billing/type'
|
||||
import { Plan } from '@/app/components/billing/type'
|
||||
import ProviderContextMock from './provider-context-mock'
|
||||
import { createMockPlan, createMockPlanReset, createMockPlanTotal, createMockPlanUsage } from '@/__mocks__/provider-context'
|
||||
|
||||
let mockPlan: Plan = Plan.sandbox
|
||||
const usage: UsagePlanInfo = {
|
||||
vectorSpace: 1,
|
||||
buildApps: 10,
|
||||
teamMembers: 1,
|
||||
annotatedResponse: 1,
|
||||
documentsUploadQuota: 0,
|
||||
apiRateLimit: 0,
|
||||
triggerEvents: 0,
|
||||
}
|
||||
|
||||
const total: UsagePlanInfo = {
|
||||
vectorSpace: 100,
|
||||
buildApps: 100,
|
||||
teamMembers: 10,
|
||||
annotatedResponse: 100,
|
||||
documentsUploadQuota: 0,
|
||||
apiRateLimit: 0,
|
||||
triggerEvents: 0,
|
||||
}
|
||||
|
||||
const reset = {
|
||||
apiRateLimit: 100,
|
||||
triggerEvents: 100,
|
||||
}
|
||||
|
||||
jest.mock('@/context/provider-context', () => ({
|
||||
useProviderContext: () => {
|
||||
const withPlan = createMockPlan(mockPlan)
|
||||
const withUsage = createMockPlanUsage(usage, withPlan)
|
||||
const withTotal = createMockPlanTotal(total, withUsage)
|
||||
const withReset = createMockPlanReset(reset, withTotal)
|
||||
return withReset
|
||||
},
|
||||
}))
|
||||
|
||||
const renderWithPlan = (plan: Plan) => {
|
||||
mockPlan = plan
|
||||
return render(<ProviderContextMock />)
|
||||
}
|
||||
|
||||
describe('ProviderContextMock', () => {
|
||||
beforeEach(() => {
|
||||
mockPlan = Plan.sandbox
|
||||
jest.clearAllMocks()
|
||||
})
|
||||
it('should display sandbox plan type when mocked with sandbox plan', async () => {
|
||||
const { getByTestId } = renderWithPlan(Plan.sandbox)
|
||||
expect(getByTestId('plan-type').textContent).toBe(Plan.sandbox)
|
||||
})
|
||||
it('should display team plan type when mocked with team plan', () => {
|
||||
const { getByTestId } = renderWithPlan(Plan.team)
|
||||
expect(getByTestId('plan-type').textContent).toBe(Plan.team)
|
||||
})
|
||||
it('should provide usage info from mocked plan', () => {
|
||||
const { getByTestId } = renderWithPlan(Plan.team)
|
||||
const buildApps = getByTestId('plan-usage-build-apps').textContent
|
||||
|
||||
expect(Number(buildApps as string)).toEqual(usage.buildApps)
|
||||
})
|
||||
|
||||
it('should provide total info from mocked plan', () => {
|
||||
const { getByTestId } = renderWithPlan(Plan.team)
|
||||
const buildApps = getByTestId('plan-total-build-apps').textContent
|
||||
|
||||
expect(Number(buildApps as string)).toEqual(total.buildApps)
|
||||
})
|
||||
|
||||
it('should provide reset info from mocked plan', () => {
|
||||
const { getByTestId } = renderWithPlan(Plan.team)
|
||||
const apiRateLimit = getByTestId('plan-reset-api-rate-limit').textContent
|
||||
|
||||
expect(Number(apiRateLimit as string)).toEqual(reset.apiRateLimit)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user