11'use strict' ;
22
3+ import { describe , expect , test } from '@jest/globals' ;
34import { runTransformTest } from 'codemod-cli' ;
5+ import { setTelemetry } from 'ember-codemods-telemetry-helpers' ;
6+ import { RuntimeResolver } from './helpers/resolver' ;
47import { setupResolver } from './test-helpers' ;
58
69process . env [ 'TESTING' ] = 'true' ;
@@ -11,3 +14,53 @@ runTransformTest({
1114 type : 'jscodeshift' ,
1215 name : 'no-implicit-this' ,
1316} ) ;
17+
18+ describe ( 'Resolver' , ( ) => {
19+ describe ( 'RuntimeResolver' , ( ) => {
20+ test ( '.has' , ( ) => {
21+ const telemetry = {
22+ 'pyckle/components/gherkyn' : {
23+ type : 'Component' ,
24+ computedProperties : [ ] ,
25+ offProperties : { } ,
26+ overriddenActions : [ ] ,
27+ overriddenProperties : [ ] ,
28+ unobservedProperties : { } ,
29+ } ,
30+ 'pyckle/helpers/cucumbyr' : {
31+ type : 'Helper' ,
32+ computedProperties : [ ] ,
33+ offProperties : { } ,
34+ overriddenActions : [ ] ,
35+ overriddenProperties : [ ] ,
36+ unobservedProperties : { } ,
37+ } ,
38+ 'ember-welcome-page/templates/components/welcome-page' : {
39+ type : 'Component' ,
40+ computedProperties : [ ] ,
41+ offProperties : { } ,
42+ overriddenActions : [ ] ,
43+ overriddenProperties : [ ] ,
44+ unobservedProperties : { } ,
45+ } ,
46+ } ;
47+ setTelemetry ( telemetry ) ;
48+ const resolver = RuntimeResolver . build ( ) ;
49+
50+ expect ( resolver . has ( 'component' , 'gherkyn' ) ) . toBe ( true ) ;
51+ expect ( resolver . has ( 'component' , 'welcome-page' ) ) . toBe ( true ) ;
52+ expect ( resolver . has ( 'component' , 'cucumbyr' ) ) . toBe ( false ) ;
53+ expect ( resolver . has ( 'component' , 'nope' ) ) . toBe ( false ) ;
54+
55+ expect ( resolver . has ( 'helper' , 'gherkyn' ) ) . toBe ( false ) ;
56+ expect ( resolver . has ( 'helper' , 'welcome-page' ) ) . toBe ( false ) ;
57+ expect ( resolver . has ( 'helper' , 'cucumbyr' ) ) . toBe ( true ) ;
58+ expect ( resolver . has ( 'helper' , 'nope' ) ) . toBe ( false ) ;
59+
60+ expect ( resolver . has ( 'ambiguous' , 'gherkyn' ) ) . toBe ( true ) ;
61+ expect ( resolver . has ( 'ambiguous' , 'welcome-page' ) ) . toBe ( true ) ;
62+ expect ( resolver . has ( 'ambiguous' , 'cucumbyr' ) ) . toBe ( true ) ;
63+ expect ( resolver . has ( 'ambiguous' , 'nope' ) ) . toBe ( false ) ;
64+ } ) ;
65+ } ) ;
66+ } ) ;
0 commit comments