Skip to content

Commit ab3f4f8

Browse files
committed
assert property is not allowed test
1 parent 5922122 commit ab3f4f8

File tree

3 files changed

+15
-12
lines changed

3 files changed

+15
-12
lines changed

packages/graphiql/cypress/e2e/lint.cy.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,7 @@ describe('Linting', () => {
7070
);
7171
});
7272

73-
// We don't have this feature in monaco-graphql
74-
it.skip('Marks unused variables as error', () => {
73+
it('Marks unused variables as error', () => {
7574
cy.visitWithOp({
7675
query: /* GraphQL */ `
7776
query WithVariables($stringArg: String) {
@@ -85,7 +84,7 @@ describe('Linting', () => {
8584
}).assertLinterMarkWithMessage(
8685
'unusedVariable',
8786
'error',
88-
'Variable "$unusedVariable" does not appear in any GraphQL query.',
87+
'Property unusedVariable is not allowed.',
8988
);
9089
});
9190

packages/graphiql/cypress/support/commands.ts

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -162,21 +162,24 @@ Cypress.Commands.add(
162162
'assertLinterMarkWithMessage',
163163
(text, severity, message, uri = 'query.graphql') => {
164164
// Ensure error is visible in the DOM
165-
cy.get(`.squiggly-${severity}`, { timeout: 9_000 });
165+
cy.get(`.squiggly-${severity}`, { timeout: 10_000 });
166166
cy.window().then(win => {
167167
const { editor, Uri, MarkerSeverity } = win.__MONACO;
168168
const markers = editor.getModelMarkers({
169169
resource: Uri.parse(uri),
170170
});
171-
expect(markers.length).to.be.greaterThan(0);
171+
// Only "Property is not allowed." isn't added in model markers
172+
if (!message.endsWith(' is not allowed.')) {
173+
expect(markers.length).to.be.greaterThan(0);
174+
expect(markers[0].message).eq(message);
175+
const markerSeverity = {
176+
error: MarkerSeverity.Error,
177+
warning: MarkerSeverity.Warning,
178+
}[severity];
179+
expect(markers[0].severity).eq(markerSeverity);
180+
}
172181
cy.contains(text).trigger('mousemove');
173-
cy.contains(message, { timeout: 6_000 });
174-
expect(markers[0].message).eq(message);
175-
const markerSeverity = {
176-
error: MarkerSeverity.Error,
177-
warning: MarkerSeverity.Warning,
178-
}[severity];
179-
expect(markers[0].severity).eq(markerSeverity);
182+
cy.contains(message, { timeout: 7_000 });
180183
});
181184
},
182185
);

packages/graphql-language-service/src/utils/getVariablesJSONSchema.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -359,6 +359,7 @@ export function getVariablesJSONSchema(
359359
type: 'object',
360360
properties: {},
361361
required: [],
362+
additionalProperties: false,
362363
};
363364

364365
const runtimeOptions: JSONSchemaRunningOptions = {

0 commit comments

Comments
 (0)