chore: adds schema path to useFieldPath provider, more passing tests

This commit is contained in:
Jarrod Flesch
2024-02-20 15:56:11 -05:00
parent 726596d568
commit a5e2fa80e8
58 changed files with 483 additions and 316 deletions

View File

@@ -1,18 +1,16 @@
import type { IndexDirection, IndexOptions } from 'mongoose'
import { GraphQLClient } from 'graphql-request'
import type { MongooseAdapter } from '../../packages/db-mongodb/src/index'
import type { SanitizedConfig } from '../../packages/payload/src/config/types'
import type { Payload } from '../../packages/payload/src'
import type { PaginatedDocs } from '../../packages/payload/src/database/types'
import type { RichTextField } from './payload-types'
import type { GroupField } from './payload-types'
import payload from '../../packages/payload/src'
import { getPayload } from '../../packages/payload/src'
import { devUser } from '../credentials'
import { initPayloadTest } from '../helpers/configHelpers'
import { NextRESTClient } from '../helpers/NextRESTClient'
import { isMongoose } from '../helpers/isMongoose'
import { RESTClient } from '../helpers/rest'
import configPromise from '../uploads/config'
import { startMemoryDB } from '../startMemoryDB'
import { arrayDefaultValue } from './collections/Array'
import { blocksDoc } from './collections/Blocks/shared'
import { dateDoc } from './collections/Date/shared'
@@ -28,8 +26,8 @@ import {
} from './collections/Tabs/constants'
import { tabsDoc } from './collections/Tabs/shared'
import { defaultText } from './collections/Text/shared'
import configPromise from './config'
import { clearAndSeedEverything } from './seed'
import { GroupField } from './payload-types'
import {
arrayFieldsSlug,
blockFieldsSlug,
@@ -39,22 +37,19 @@ import {
textFieldsSlug,
} from './slugs'
let client: RESTClient
let graphQLClient: GraphQLClient
let serverURL: string
let config: SanitizedConfig
let token: string
let restClient: NextRESTClient
let user: any
let payload: Payload
describe('Fields', () => {
beforeAll(async () => {
;({ serverURL } = await initPayloadTest({ __dirname, init: { local: false } }))
config = await configPromise
client = new RESTClient(config, { defaultSlug: 'point-fields', serverURL })
const graphQLURL = `${serverURL}${config.routes.api}${config.routes.graphQL}`
graphQLClient = new GraphQLClient(graphQLURL)
token = await client.login()
const config = await startMemoryDB(configPromise)
payload = await getPayload({ config })
restClient = new NextRESTClient(payload.config)
await restClient.login({
slug: 'users',
credentials: devUser,
})
user = await payload.login({
collection: 'users',
@@ -67,8 +62,10 @@ describe('Fields', () => {
beforeEach(async () => {
await clearAndSeedEverything(payload)
client = new RESTClient(config, { defaultSlug: 'point-fields', serverURL })
await client.login()
await restClient.login({
slug: 'users',
credentials: devUser,
})
})
describe('text', () => {
@@ -1061,14 +1058,12 @@ describe('Fields', () => {
}
}
}`
const response = await graphQLClient.request(
query,
{},
{
Authorization: `JWT ${token}`,
},
)
const { docs }: PaginatedDocs<RichTextField> = response.RichTextFields
const { data } = await restClient
.GRAPHQL_POST({
body: JSON.stringify({ query }),
})
.then((res) => res.json())
const { docs }: PaginatedDocs<RichTextField> = data.RichTextFields
const uploadElement = docs[0].richText.find((el) => el.type === 'upload') as any
expect(uploadElement.value.media.filename).toStrictEqual('payload.png')
})

View File

@@ -1,8 +1,6 @@
import type { SerializedEditorState, SerializedParagraphNode } from 'lexical'
import { GraphQLClient } from 'graphql-request'
import type { SanitizedConfig } from '../../packages/payload/src/config/types'
import type { Payload } from '../../packages/payload/src'
import type { PaginatedDocs } from '../../packages/payload/src/database/types'
import type {
SerializedBlockNode,
@@ -12,10 +10,10 @@ import type {
} from '../../packages/richtext-lexical/src'
import type { LexicalField, LexicalMigrateField, RichTextField } from './payload-types'
import payload from '../../packages/payload/src'
import { initPayloadTest } from '../helpers/configHelpers'
import { RESTClient } from '../helpers/rest'
import configPromise from '../uploads/config'
import { getPayload } from '../../packages/payload/src'
import { devUser } from '../credentials'
import { NextRESTClient } from '../helpers/NextRESTClient'
import { startMemoryDB } from '../startMemoryDB'
import { arrayDoc } from './collections/Array/shared'
import { lexicalDocData } from './collections/Lexical/data'
import { lexicalMigrateDocData } from './collections/LexicalMigrate/data'
@@ -23,6 +21,7 @@ import { richTextDocData } from './collections/RichText/data'
import { generateLexicalRichText } from './collections/RichText/generateLexicalRichText'
import { textDoc } from './collections/Text/shared'
import { uploadsDoc } from './collections/Upload/shared'
import configPromise from './config'
import { clearAndSeedEverything } from './seed'
import {
arrayFieldsSlug,
@@ -33,10 +32,8 @@ import {
uploadsSlug,
} from './slugs'
let client: RESTClient
let graphQLClient: GraphQLClient
let serverURL: string
let config: SanitizedConfig
let payload: Payload
let restClient: NextRESTClient
let token: string
let createdArrayDocID: number | string = null
@@ -46,19 +43,17 @@ let createdRichTextDocID: number | string = null
describe('Lexical', () => {
beforeAll(async () => {
;({ serverURL } = await initPayloadTest({ __dirname, init: { local: false } }))
config = await configPromise
client = new RESTClient(config, { defaultSlug: richTextFieldsSlug, serverURL })
const graphQLURL = `${serverURL}${config.routes.api}${config.routes.graphQL}`
graphQLClient = new GraphQLClient(graphQLURL)
token = await client.login()
const config = await startMemoryDB(configPromise)
payload = await getPayload({ config })
restClient = new NextRESTClient(payload.config)
})
beforeEach(async () => {
await clearAndSeedEverything(payload)
client = new RESTClient(config, { defaultSlug: richTextFieldsSlug, serverURL })
await client.login()
await restClient.login({
slug: 'users',
credentials: devUser,
})
createdArrayDocID = (
await payload.find({