-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathextension.gxformat2.e2e.ts
45 lines (44 loc) · 1.49 KB
/
extension.gxformat2.e2e.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// You can import and use all API from the 'vscode' module
// as well as import your extension to test it
import * as vscode from "vscode";
import * as path from "path";
import * as assert from "assert";
import { beforeEach } from "mocha";
import {
activateAndOpenInEditor,
getDocUri,
closeAllEditors,
assertDiagnostics,
resetSettings,
waitForDiagnostics,
} from "./helpers";
suite("Format2 (YAML) Workflows", () => {
teardown(closeAllEditors);
suite("Validation Tests", () => {
beforeEach(async () => {
await resetSettings();
});
test("Missing required fields return diagnostics", async () => {
const docUri = getDocUri(path.join("yaml", "validation", "test_wf_00.gxwf.yml"));
await activateAndOpenInEditor(docUri);
await waitForDiagnostics(docUri);
await assertDiagnostics(docUri, [
{
message: "The 'steps' field is required.",
range: new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 21)),
severity: vscode.DiagnosticSeverity.Error,
},
{
message: "The 'inputs' field is required.",
range: new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 21)),
severity: vscode.DiagnosticSeverity.Error,
},
{
message: "The 'outputs' field is required.",
range: new vscode.Range(new vscode.Position(0, 0), new vscode.Position(0, 21)),
severity: vscode.DiagnosticSeverity.Error,
},
]);
});
});
});