From 1c3957af88ccd1280df8398a403251abb06e15a9 Mon Sep 17 00:00:00 2001 From: Gautam Singh <5769869+gautamsi@users.noreply.github.com> Date: Sun, 23 Jun 2024 18:56:10 -0500 Subject: [PATCH] try basic test template --- .../basic/app/admin/.admin/index.tsx | 18 ++++++++++ .../basic/app/admin/[listKey]/[id]/page.tsx | 4 +++ .../basic/app/admin/[listKey]/create/page.tsx | 4 +++ .../basic/app/admin/[listKey]/page.tsx | 4 +++ .../test-projects/basic/app/admin/layout.tsx | 16 +++++++++ .../basic/app/admin/no-access/page.tsx | 3 ++ tests/test-projects/basic/app/admin/page.tsx | 2 ++ tests/test-projects/basic/app/layout.tsx | 11 ++++++ tests/test-projects/basic/keystone.ts | 4 +++ tests/test-projects/basic/next-env.d.ts | 5 +++ tests/test-projects/basic/schema.graphql | 5 +++ tests/test-projects/basic/tsconfig.json | 34 +++++++++++++++++++ 12 files changed, 110 insertions(+) create mode 100644 tests/test-projects/basic/app/admin/.admin/index.tsx create mode 100644 tests/test-projects/basic/app/admin/[listKey]/[id]/page.tsx create mode 100644 tests/test-projects/basic/app/admin/[listKey]/create/page.tsx create mode 100644 tests/test-projects/basic/app/admin/[listKey]/page.tsx create mode 100644 tests/test-projects/basic/app/admin/layout.tsx create mode 100644 tests/test-projects/basic/app/admin/no-access/page.tsx create mode 100644 tests/test-projects/basic/app/admin/page.tsx create mode 100644 tests/test-projects/basic/app/layout.tsx create mode 100644 tests/test-projects/basic/next-env.d.ts create mode 100644 tests/test-projects/basic/tsconfig.json diff --git a/tests/test-projects/basic/app/admin/.admin/index.tsx b/tests/test-projects/basic/app/admin/.admin/index.tsx new file mode 100644 index 00000000000..856aeda0eb6 --- /dev/null +++ b/tests/test-projects/basic/app/admin/.admin/index.tsx @@ -0,0 +1,18 @@ +/* eslint-disable */ +import * as view0 from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/id-field-view' +import * as view1 from '@keystone-6/core/fields/types/text/views' +import * as view2 from '@keystone-6/core/fields/types/select/views' +import * as view3 from '@keystone-6/core/fields/types/checkbox/views' +import * as view4 from '@keystone-6/core/fields/types/relationship/views' +import * as view5 from '@keystone-6/core/fields/types/timestamp/views' + +const adminConfig = {} + +export const config = { + lazyMetadataQuery: {"kind":"Document","definitions":[{"kind":"OperationDefinition","operation":"query","selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"keystone","loc":{"start":22,"end":30}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"adminMeta","loc":{"start":39,"end":48}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"config","loc":{"start":59,"end":65}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"adminPath","loc":{"start":78,"end":87}},"arguments":[],"directives":[],"loc":{"start":78,"end":87}}],"loc":{"start":66,"end":97}},"loc":{"start":59,"end":97}},{"kind":"Field","name":{"kind":"Name","value":"lists","loc":{"start":106,"end":111}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"key","loc":{"start":124,"end":127}},"arguments":[],"directives":[],"loc":{"start":124,"end":127}},{"kind":"Field","name":{"kind":"Name","value":"isHidden","loc":{"start":138,"end":146}},"arguments":[],"directives":[],"loc":{"start":138,"end":146}},{"kind":"Field","name":{"kind":"Name","value":"fields","loc":{"start":157,"end":163}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"path","loc":{"start":178,"end":182}},"arguments":[],"directives":[],"loc":{"start":178,"end":182}},{"kind":"Field","name":{"kind":"Name","value":"createView","loc":{"start":195,"end":205}},"arguments":[],"directives":[],"selectionSet":{"kind":"SelectionSet","selections":[{"kind":"Field","name":{"kind":"Name","value":"fieldMode","loc":{"start":222,"end":231}},"arguments":[],"directives":[],"loc":{"start":222,"end":231}}],"loc":{"start":206,"end":245}},"loc":{"start":195,"end":245}}],"loc":{"start":164,"end":257}},"loc":{"start":157,"end":257}}],"loc":{"start":112,"end":267}},"loc":{"start":106,"end":267}}],"loc":{"start":49,"end":275}},"loc":{"start":39,"end":275}}],"loc":{"start":31,"end":281}},"loc":{"start":22,"end":281}}]}}]}, + fieldViews: [view0,view1,view2,view3,view4,view5], + adminMetaHash: 'c4s9h8', + adminConfig, + apiPath: '/api/graphql', + listsKeyByPath: {"tasks":"Task","people":"Person","secret-plans":"SecretPlan"}, +}; diff --git a/tests/test-projects/basic/app/admin/[listKey]/[id]/page.tsx b/tests/test-projects/basic/app/admin/[listKey]/[id]/page.tsx new file mode 100644 index 00000000000..c5d7ea2be62 --- /dev/null +++ b/tests/test-projects/basic/app/admin/[listKey]/[id]/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { ItemPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ItemPage' + +export default ItemPage diff --git a/tests/test-projects/basic/app/admin/[listKey]/create/page.tsx b/tests/test-projects/basic/app/admin/[listKey]/create/page.tsx new file mode 100644 index 00000000000..d6042acaa96 --- /dev/null +++ b/tests/test-projects/basic/app/admin/[listKey]/create/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { CreateItemPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/CreateItemPage' + +export default CreateItemPage diff --git a/tests/test-projects/basic/app/admin/[listKey]/page.tsx b/tests/test-projects/basic/app/admin/[listKey]/page.tsx new file mode 100644 index 00000000000..f6e75f8cfab --- /dev/null +++ b/tests/test-projects/basic/app/admin/[listKey]/page.tsx @@ -0,0 +1,4 @@ +'use client' +import { ListPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/ListPage' + +export default ListPage diff --git a/tests/test-projects/basic/app/admin/layout.tsx b/tests/test-projects/basic/app/admin/layout.tsx new file mode 100644 index 00000000000..abb5a0f3b2c --- /dev/null +++ b/tests/test-projects/basic/app/admin/layout.tsx @@ -0,0 +1,16 @@ +'use client' +import { Layout } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/App' +import { config } from './.admin' + + +export default function AdminLayout ({ + children, +}: { + children: React.ReactNode +}) { + return ( + + {children} + + ) +} \ No newline at end of file diff --git a/tests/test-projects/basic/app/admin/no-access/page.tsx b/tests/test-projects/basic/app/admin/no-access/page.tsx new file mode 100644 index 00000000000..46a299f0aef --- /dev/null +++ b/tests/test-projects/basic/app/admin/no-access/page.tsx @@ -0,0 +1,3 @@ +import { getNoAccessPage } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/NoAccessPage' + +export default getNoAccessPage({"sessionsEnabled":false}) diff --git a/tests/test-projects/basic/app/admin/page.tsx b/tests/test-projects/basic/app/admin/page.tsx new file mode 100644 index 00000000000..5c268390b0f --- /dev/null +++ b/tests/test-projects/basic/app/admin/page.tsx @@ -0,0 +1,2 @@ +'use client' +export { HomePage as default } from '@keystone-6/core/___internal-do-not-use-will-break-in-patch/admin-ui/pages/HomePage' diff --git a/tests/test-projects/basic/app/layout.tsx b/tests/test-projects/basic/app/layout.tsx new file mode 100644 index 00000000000..38a4853e3a5 --- /dev/null +++ b/tests/test-projects/basic/app/layout.tsx @@ -0,0 +1,11 @@ +export default function RootLayout ({ + children, +}: { + children: React.ReactNode +}) { + return ( + + {children} + + ) +} diff --git a/tests/test-projects/basic/keystone.ts b/tests/test-projects/basic/keystone.ts index 16cd740f624..f960d22f3c1 100644 --- a/tests/test-projects/basic/keystone.ts +++ b/tests/test-projects/basic/keystone.ts @@ -10,5 +10,9 @@ export default config({ // WARNING: this is only needed for examples, dont do this ...fixPrismaPath, }, + ui: { + basePath: '/admin', + tsx: true, + }, lists, }) diff --git a/tests/test-projects/basic/next-env.d.ts b/tests/test-projects/basic/next-env.d.ts new file mode 100644 index 00000000000..4f11a03dc6c --- /dev/null +++ b/tests/test-projects/basic/next-env.d.ts @@ -0,0 +1,5 @@ +/// +/// + +// NOTE: This file should not be edited +// see https://nextjs.org/docs/basic-features/typescript for more information. diff --git a/tests/test-projects/basic/schema.graphql b/tests/test-projects/basic/schema.graphql index f15389a1b56..898ec71ebe6 100644 --- a/tests/test-projects/basic/schema.graphql +++ b/tests/test-projects/basic/schema.graphql @@ -283,10 +283,15 @@ type KeystoneMeta { } type KeystoneAdminMeta { + config: config! lists: [KeystoneAdminUIListMeta!]! list(key: String!): KeystoneAdminUIListMeta } +type config { + adminPath: String! +} + type KeystoneAdminUIListMeta { key: String! itemQueryName: String! diff --git a/tests/test-projects/basic/tsconfig.json b/tests/test-projects/basic/tsconfig.json new file mode 100644 index 00000000000..ccb2ed95d83 --- /dev/null +++ b/tests/test-projects/basic/tsconfig.json @@ -0,0 +1,34 @@ +{ + "compilerOptions": { + "lib": [ + "dom", + "dom.iterable", + "esnext" + ], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "noEmit": true, + "incremental": true, + "module": "esnext", + "esModuleInterop": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "plugins": [ + { + "name": "next" + } + ] + }, + "include": [ + "next-env.d.ts", + ".next/types/**/*.ts", + "**/*.ts", + "**/*.tsx" + ], + "exclude": [ + "node_modules" + ] +}