Skip to content

Commit bd3f119

Browse files
Merge pull request #7 from NullVoxPopuli-ai-agent/fix/2583-required-args
Add test coverage for required argument validation on builtin components
2 parents e2d1b02 + e63b4b8 commit bd3f119

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

tests/lib/rules/template-no-unknown-arguments-for-builtin-components.js

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,31 @@ ruleTester.run('template-no-unknown-arguments-for-builtin-components', rule, {
184184
output: null,
185185
errors: [{ messageId: 'unknownArgument' }],
186186
},
187+
188+
// Missing required arguments
189+
{
190+
code: '<template><LinkTo /></template>',
191+
output: null,
192+
errors: [{ messageId: 'requiredArgument' }],
193+
},
194+
{
195+
code: '<template><LinkTo @disabled={{true}} /></template>',
196+
output: null,
197+
errors: [{ messageId: 'requiredArgument' }],
198+
},
199+
{
200+
filename: 'my-component.gjs',
201+
code: `
202+
import Component from '@glimmer/component';
203+
export default class MyComponent extends Component {
204+
<template>
205+
<LinkTo @replace={{true}}>Home</LinkTo>
206+
</template>
207+
}
208+
`,
209+
output: null,
210+
errors: [{ messageId: 'requiredArgument' }],
211+
},
187212
],
188213
});
189214

@@ -333,5 +358,37 @@ Instead, please use the {{on}} modifier, i.e. "<Textarea {{on "keyup" ...}} />"
333358
},
334359
],
335360
},
361+
362+
// Missing required arguments
363+
{
364+
code: '<LinkTo />',
365+
output: null,
366+
errors: [
367+
{
368+
message:
369+
'Arguments "@route" or "@query" or "@model" or "@models" is required for <LinkTo /> component.',
370+
},
371+
],
372+
},
373+
{
374+
code: '<LinkTo @disabled={{true}} />',
375+
output: null,
376+
errors: [
377+
{
378+
message:
379+
'Arguments "@route" or "@query" or "@model" or "@models" is required for <LinkTo /> component.',
380+
},
381+
],
382+
},
383+
{
384+
code: '<LinkTo @replace={{true}}>Home</LinkTo>',
385+
output: null,
386+
errors: [
387+
{
388+
message:
389+
'Arguments "@route" or "@query" or "@model" or "@models" is required for <LinkTo /> component.',
390+
},
391+
],
392+
},
336393
],
337394
});

0 commit comments

Comments
 (0)