From 2650ebde0c9e24678112900883012807b7d4dfc8 Mon Sep 17 00:00:00 2001 From: Alexey Orlenko Date: Mon, 31 Jul 2023 09:45:37 +0200 Subject: [PATCH] prisma-fmt: add a regression test for panic with multiSchema (#4089) --- .../tests/regressions/language_tools_1473.rs | 34 +++++++++++++++++++ prisma-fmt/tests/regressions/mod.rs | 1 + 2 files changed, 35 insertions(+) create mode 100644 prisma-fmt/tests/regressions/language_tools_1473.rs diff --git a/prisma-fmt/tests/regressions/language_tools_1473.rs b/prisma-fmt/tests/regressions/language_tools_1473.rs new file mode 100644 index 000000000000..26ea341f482e --- /dev/null +++ b/prisma-fmt/tests/regressions/language_tools_1473.rs @@ -0,0 +1,34 @@ +#[test] +fn code_actions_should_not_crash_on_validation_errors_with_multi_schema() { + let schema = r#" + generator client { + provider = "prisma-client-js" + previewFeatures = ["multiSchema"] + } + + datasource db { + provider = "postgresql" + url = env("DATABASE_URL") + schemas = ["auth", "public"] + } + + model A { + id Int @id + test + } + "#; + + let params = lsp_types::CodeActionParams { + text_document: lsp_types::TextDocumentIdentifier { + uri: "file:/path/to/schema.prisma".parse().unwrap(), + }, + range: lsp_types::Range::default(), + context: lsp_types::CodeActionContext::default(), + work_done_progress_params: lsp_types::WorkDoneProgressParams { work_done_token: None }, + partial_result_params: lsp_types::PartialResultParams { + partial_result_token: None, + }, + }; + + prisma_fmt::code_actions(schema.to_owned(), &serde_json::to_string_pretty(¶ms).unwrap()); +} diff --git a/prisma-fmt/tests/regressions/mod.rs b/prisma-fmt/tests/regressions/mod.rs index 8161e3c8c3c3..6095488aeb60 100644 --- a/prisma-fmt/tests/regressions/mod.rs +++ b/prisma-fmt/tests/regressions/mod.rs @@ -1 +1,2 @@ mod language_tools_1466; +mod language_tools_1473;