chore: adds update to test sdk
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import type { PaginatedDocs } from 'payload/database'
|
||||
|
||||
import type { CreateArgs, FetchOptions, FindArgs, GeneratedTypes } from './types.js'
|
||||
import type { CreateArgs, FetchOptions, FindArgs, GeneratedTypes, UpdateArgs } from './types.js'
|
||||
|
||||
type Args = {
|
||||
serverURL: string
|
||||
@@ -53,6 +53,17 @@ export class PayloadTestSDK<TGeneratedTypes extends GeneratedTypes<TGeneratedTyp
|
||||
|
||||
serverURL: string
|
||||
|
||||
update = async <T extends keyof TGeneratedTypes['collections']>({
|
||||
jwt,
|
||||
...args
|
||||
}: UpdateArgs<TGeneratedTypes, T>) => {
|
||||
return this.fetch<TGeneratedTypes['collections'][T]>({
|
||||
method: 'update',
|
||||
args,
|
||||
jwt,
|
||||
})
|
||||
}
|
||||
|
||||
constructor({ serverURL }: Args) {
|
||||
this.serverURL = serverURL
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import type { TypeWithID, Where } from 'payload/types'
|
||||
import type { MarkOptional } from 'ts-essentials'
|
||||
import type { TypeWithID, Where, WhereField } from 'payload/types'
|
||||
import type { DeepPartial, MarkOptional } from 'ts-essentials'
|
||||
|
||||
type CollectionDoc = {
|
||||
createdAt?: string
|
||||
@@ -25,7 +25,7 @@ export type GeneratedTypes<T extends BaseTypes> = {
|
||||
export type FetchOptions = {
|
||||
args?: Record<string, unknown>
|
||||
jwt?: string
|
||||
method: 'create' | 'find'
|
||||
method: 'create' | 'find' | 'update'
|
||||
reduceJSON?: <R>(json: any) => R
|
||||
}
|
||||
|
||||
@@ -54,6 +54,46 @@ export type CreateArgs<
|
||||
user?: TypeWithID
|
||||
} & BaseArgs
|
||||
|
||||
export type UpdateByIDArgs<
|
||||
TGeneratedTypes extends GeneratedTypes<TGeneratedTypes>,
|
||||
TSlug extends keyof TGeneratedTypes['collections'],
|
||||
> = UpdateBaseArgs<TGeneratedTypes, TSlug> & {
|
||||
id: number | string
|
||||
where?: never
|
||||
}
|
||||
|
||||
export type UpdateManyArgs<
|
||||
TGeneratedTypes extends GeneratedTypes<TGeneratedTypes>,
|
||||
TSlug extends keyof TGeneratedTypes['collections'],
|
||||
> = UpdateBaseArgs<TGeneratedTypes, TSlug> & {
|
||||
id: never
|
||||
where?: WhereField
|
||||
}
|
||||
|
||||
export type UpdateBaseArgs<
|
||||
TGeneratedTypes extends GeneratedTypes<TGeneratedTypes>,
|
||||
TSlug extends keyof TGeneratedTypes['collections'],
|
||||
> = {
|
||||
autosave?: boolean
|
||||
collection: TSlug
|
||||
data: DeepPartial<TGeneratedTypes['collections'][TSlug]>
|
||||
depth?: number
|
||||
draft?: boolean
|
||||
fallbackLocale?: string
|
||||
file?: File
|
||||
filePath?: string
|
||||
locale?: string
|
||||
overrideAccess?: boolean
|
||||
overwriteExistingFiles?: boolean
|
||||
showHiddenFields?: boolean
|
||||
user?: TypeWithID
|
||||
} & BaseArgs
|
||||
|
||||
export type UpdateArgs<
|
||||
TGeneratedTypes extends GeneratedTypes<TGeneratedTypes>,
|
||||
TSlug extends keyof TGeneratedTypes['collections'],
|
||||
> = UpdateByIDArgs<TGeneratedTypes, TSlug> | UpdateManyArgs<TGeneratedTypes, TSlug>
|
||||
|
||||
export type FindArgs<
|
||||
TGeneratedTypes extends GeneratedTypes<TGeneratedTypes>,
|
||||
TSlug extends keyof TGeneratedTypes['collections'],
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import type { Page } from '@playwright/test'
|
||||
import type { Payload } from 'payload'
|
||||
|
||||
import { expect, test } from '@playwright/test'
|
||||
import path from 'path'
|
||||
import { wait } from 'payload/utilities'
|
||||
import { fileURLToPath } from 'url'
|
||||
|
||||
import type { LocalizedPost } from './payload-types.js'
|
||||
import type { PayloadTestSDK } from '../helpers/sdk/index.js'
|
||||
import type { Config, LocalizedPost } from './payload-types.js'
|
||||
|
||||
import {
|
||||
changeLocale,
|
||||
@@ -46,7 +46,7 @@ const arabicTitle = 'arabic title'
|
||||
const description = 'description'
|
||||
|
||||
let page: Page
|
||||
let payload: Payload
|
||||
let payload: PayloadTestSDK<Config>
|
||||
let serverURL: string
|
||||
|
||||
describe('Localization', () => {
|
||||
|
||||
Reference in New Issue
Block a user