Next.js website for Rocky Mountain Vending company featuring: - Product catalog with Stripe integration - Service areas and parts pages - Admin dashboard with Clerk authentication - SEO optimized pages with JSON-LD structured data Co-authored-by: Cursor <cursoragent@cursor.com>
207 lines
8.1 KiB
Text
207 lines
8.1 KiB
Text
import { test } from "vitest";
|
|
// import path from "path";
|
|
// import { Node, Project, SyntaxKind } from "ts-morph";
|
|
|
|
// import { filePath } from "./language-server.source";
|
|
|
|
// The following tool is helpful for understanding the TypeScript AST associated with these tests:
|
|
// https://ts-ast-viewer.com/ (just copy the contents of language-server.source into the viewer)
|
|
|
|
test("", () => {});
|
|
// describe("Executing Go To Definition (and therefore Find Usages and Rename Refactoring) using an IDE works on inferred object properties", () => {
|
|
// // Compile file developmentEnvironment.source
|
|
// const project = new Project({
|
|
// tsConfigFilePath: path.join(__dirname, "..", "..", "tsconfig.json"),
|
|
// skipAddingFilesFromTsConfig: true,
|
|
// });
|
|
// const sourceFile = project.addSourceFileAtPath(filePath);
|
|
|
|
// test("works for object properties inferred from z.object()", () => {
|
|
// // Find usage of Test.f1 property
|
|
// const instanceVariable =
|
|
// sourceFile.getVariableDeclarationOrThrow("instanceOfTest");
|
|
// const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// instanceVariable,
|
|
// "f1"
|
|
// );
|
|
|
|
// // Find definition of Test.f1 property
|
|
// const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// SyntaxKind.VariableDeclaration
|
|
// );
|
|
|
|
// // Assert that find definition returned the Zod definition of Test
|
|
// expect(definitionOfProperty?.getText()).toEqual("f1: z.number()");
|
|
// expect(parentOfProperty?.getName()).toEqual("Test");
|
|
// });
|
|
|
|
// // test("works for first object properties inferred from z.object().merge()", () => {
|
|
// // // Find usage of TestMerge.f1 property
|
|
// // const instanceVariable = sourceFile.getVariableDeclarationOrThrow(
|
|
// // "instanceOfTestMerge"
|
|
// // );
|
|
// // const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// // instanceVariable,
|
|
// // "f1"
|
|
// // );
|
|
|
|
// // // Find definition of TestMerge.f1 property
|
|
// // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// // SyntaxKind.VariableDeclaration
|
|
// // );
|
|
|
|
// // // Assert that find definition returned the Zod definition of Test
|
|
// // expect(definitionOfProperty?.getText()).toEqual("f1: z.number()");
|
|
// // expect(parentOfProperty?.getName()).toEqual("Test");
|
|
// // });
|
|
|
|
// // test("works for second object properties inferred from z.object().merge()", () => {
|
|
// // // Find usage of TestMerge.f2 property
|
|
// // const instanceVariable = sourceFile.getVariableDeclarationOrThrow(
|
|
// // "instanceOfTestMerge"
|
|
// // );
|
|
// // const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// // instanceVariable,
|
|
// // "f2"
|
|
// // );
|
|
|
|
// // // Find definition of TestMerge.f2 property
|
|
// // const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// // const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// // SyntaxKind.VariableDeclaration
|
|
// // );
|
|
|
|
// // // Assert that find definition returned the Zod definition of TestMerge
|
|
// // expect(definitionOfProperty?.getText()).toEqual(
|
|
// // "f2: z.string().optional()"
|
|
// // );
|
|
// // expect(parentOfProperty?.getName()).toEqual("TestMerge");
|
|
// // });
|
|
|
|
// test("works for first object properties inferred from z.union()", () => {
|
|
// // Find usage of TestUnion.f1 property
|
|
// const instanceVariable = sourceFile.getVariableDeclarationOrThrow(
|
|
// "instanceOfTestUnion"
|
|
// );
|
|
// const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// instanceVariable,
|
|
// "f1"
|
|
// );
|
|
|
|
// // Find definition of TestUnion.f1 property
|
|
// const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// SyntaxKind.VariableDeclaration
|
|
// );
|
|
|
|
// // Assert that find definition returned the Zod definition of Test
|
|
// expect(definitionOfProperty?.getText()).toEqual("f1: z.number()");
|
|
// expect(parentOfProperty?.getName()).toEqual("Test");
|
|
// });
|
|
|
|
// test("works for second object properties inferred from z.union()", () => {
|
|
// // Find usage of TestUnion.f2 property
|
|
// const instanceVariable = sourceFile.getVariableDeclarationOrThrow(
|
|
// "instanceOfTestUnion"
|
|
// );
|
|
// const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// instanceVariable,
|
|
// "f2"
|
|
// );
|
|
|
|
// // Find definition of TestUnion.f2 property
|
|
// const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// SyntaxKind.VariableDeclaration
|
|
// );
|
|
|
|
// // Assert that find definition returned the Zod definition of TestUnion
|
|
// expect(definitionOfProperty?.getText()).toEqual(
|
|
// "f2: z.string().optional()"
|
|
// );
|
|
// expect(parentOfProperty?.getName()).toEqual("TestUnion");
|
|
// });
|
|
|
|
// test("works for object properties inferred from z.object().partial()", () => {
|
|
// // Find usage of TestPartial.f1 property
|
|
// const instanceVariable = sourceFile.getVariableDeclarationOrThrow(
|
|
// "instanceOfTestPartial"
|
|
// );
|
|
// const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// instanceVariable,
|
|
// "f1"
|
|
// );
|
|
|
|
// // Find definition of TestPartial.f1 property
|
|
// const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// SyntaxKind.VariableDeclaration
|
|
// );
|
|
|
|
// // Assert that find definition returned the Zod definition of Test
|
|
// expect(definitionOfProperty?.getText()).toEqual("f1: z.number()");
|
|
// expect(parentOfProperty?.getName()).toEqual("Test");
|
|
// });
|
|
|
|
// test("works for object properties inferred from z.object().pick()", () => {
|
|
// // Find usage of TestPick.f1 property
|
|
// const instanceVariable =
|
|
// sourceFile.getVariableDeclarationOrThrow("instanceOfTestPick");
|
|
// const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// instanceVariable,
|
|
// "f1"
|
|
// );
|
|
|
|
// // Find definition of TestPick.f1 property
|
|
// const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// SyntaxKind.VariableDeclaration
|
|
// );
|
|
|
|
// // Assert that find definition returned the Zod definition of Test
|
|
// expect(definitionOfProperty?.getText()).toEqual("f1: z.number()");
|
|
// expect(parentOfProperty?.getName()).toEqual("Test");
|
|
// });
|
|
|
|
// test("works for object properties inferred from z.object().omit()", () => {
|
|
// // Find usage of TestOmit.f1 property
|
|
// const instanceVariable =
|
|
// sourceFile.getVariableDeclarationOrThrow("instanceOfTestOmit");
|
|
// const propertyBeingAssigned = getPropertyBeingAssigned(
|
|
// instanceVariable,
|
|
// "f1"
|
|
// );
|
|
|
|
// // Find definition of TestOmit.f1 property
|
|
// const definitionOfProperty = propertyBeingAssigned?.getDefinitionNodes()[0];
|
|
// const parentOfProperty = definitionOfProperty?.getFirstAncestorByKind(
|
|
// SyntaxKind.VariableDeclaration
|
|
// );
|
|
|
|
// // Assert that find definition returned the Zod definition of Test
|
|
// expect(definitionOfProperty?.getText()).toEqual("f1: z.number()");
|
|
// expect(parentOfProperty?.getName()).toEqual("Test");
|
|
// });
|
|
// });
|
|
|
|
// const getPropertyBeingAssigned = (node: Node, name: string) => {
|
|
// const propertyAssignment = node.forEachDescendant((descendent) =>
|
|
// Node.isPropertyAssignment(descendent) && descendent.getName() == name
|
|
// ? descendent
|
|
// : undefined
|
|
// );
|
|
|
|
// if (propertyAssignment == null)
|
|
// fail(`Could not find property assignment with name ${name}`);
|
|
|
|
// const propertyLiteral = propertyAssignment.getFirstDescendantByKind(
|
|
// SyntaxKind.Identifier
|
|
// );
|
|
|
|
// if (propertyLiteral == null)
|
|
// fail(`Could not find property literal with name ${name}`);
|
|
|
|
// return propertyLiteral;
|
|
// };
|