basic tempate of web
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
import { merge } from "lodash"
|
||||
|
||||
import { type Policy } from "@/api/base-api"
|
||||
import currentUserApi, { type UserAsShow } from "@/api/current-user-api"
|
||||
|
||||
export const DEFAULT_USER: UserAsShow = {
|
||||
id: 1,
|
||||
email: "default-mock-user@example.com",
|
||||
firstName: null,
|
||||
lastName: null,
|
||||
displayName: null,
|
||||
title: null,
|
||||
isActive: true,
|
||||
emailNotificationsEnabled: true,
|
||||
createdAt: "1970-01-01T00:00:00.000Z",
|
||||
updatedAt: "1970-01-01T00:00:00.000Z",
|
||||
}
|
||||
export const DEFAULT_POLICY: Policy = {
|
||||
show: true,
|
||||
create: false,
|
||||
update: true,
|
||||
destroy: false,
|
||||
}
|
||||
|
||||
/**
|
||||
* Usage:
|
||||
* At the top section of a test file import:
|
||||
* import { mockCurrentUserApi } from "@/tests/support"
|
||||
*
|
||||
* Then where you want to set the current user:
|
||||
* mockCurrentUserApi({ user, policy })
|
||||
*
|
||||
* Note that all values for user and policy are optional as minium safe defaults are provided.
|
||||
* Note that order of operations matters. This file must be imported before any file that imports currentUserApi.
|
||||
* As such this file has been imported and mocked in the pre-test run "web/tests/setup.ts" file.
|
||||
*
|
||||
* @param currentUserApiGetResponseWithDefaults - The response to set for the current user
|
||||
*/
|
||||
export function mockCurrentUserApi(
|
||||
currentUserApiGetResponseWithDefaults: { user?: UserAsShow; policy?: Policy } = {}
|
||||
) {
|
||||
vi.mock("@/api/current-user-api")
|
||||
|
||||
const userWithDefaults = merge({}, DEFAULT_USER, currentUserApiGetResponseWithDefaults.user)
|
||||
const policyWithDefaults = merge({}, DEFAULT_POLICY, currentUserApiGetResponseWithDefaults.policy)
|
||||
|
||||
const mockedCurrentUserApi = vi.mocked(currentUserApi, true)
|
||||
mockedCurrentUserApi.get.mockResolvedValue({
|
||||
user: userWithDefaults,
|
||||
policy: policyWithDefaults,
|
||||
})
|
||||
}
|
||||
|
||||
export default mockCurrentUserApi
|
||||
Reference in New Issue
Block a user