| 
 | 1 | +//------------------------------------------------------------------------------  | 
 | 2 | +// Requirements  | 
 | 3 | +//------------------------------------------------------------------------------  | 
 | 4 | + | 
 | 5 | +const rule = require('../../../lib/rules/no-private-routing-service');  | 
 | 6 | +const RuleTester = require('eslint').RuleTester;  | 
 | 7 | + | 
 | 8 | +const { ERROR_MESSAGE } = rule;  | 
 | 9 | + | 
 | 10 | +//------------------------------------------------------------------------------  | 
 | 11 | +// Tests  | 
 | 12 | +//------------------------------------------------------------------------------  | 
 | 13 | + | 
 | 14 | +const ruleTester = new RuleTester({  | 
 | 15 | +  parser: require.resolve('babel-eslint'),  | 
 | 16 | +  parserOptions: {  | 
 | 17 | +    ecmaVersion: 2015,  | 
 | 18 | +    sourceType: 'module',  | 
 | 19 | +  },  | 
 | 20 | +});  | 
 | 21 | + | 
 | 22 | +ruleTester.run('no-private-routing-service', rule, {  | 
 | 23 | +  valid: [  | 
 | 24 | +    "export default Component.extend({ someService: service('routing') });",  | 
 | 25 | +    "export default Component.extend({ someService: service('-router') });",  | 
 | 26 | +    "export default Component.extend({ '-routing': service('routing') });",  | 
 | 27 | +    "export default Component.extend({ '-routing': service('-router') });",  | 
 | 28 | +    "Component.extend({ routing: someOtherFunction('-routing') });",  | 
 | 29 | +    'export default class MyComponent extends Component { @service router; }',  | 
 | 30 | +    "export default class MyComponent extends Component { @service('router') routing; }",  | 
 | 31 | +    'export default class MyComponent extends Component { @service routing; }',  | 
 | 32 | +    "export default class MyComponent extends Component { @service('routing') routing; }",  | 
 | 33 | +    `  | 
 | 34 | +    export default class MyComponent extends Component {  | 
 | 35 | +      @computed('-routing', 'lastName')  | 
 | 36 | +        get fullName() {  | 
 | 37 | +        return \`${this.firstName} ${this.lastName}\`;  | 
 | 38 | +      }  | 
 | 39 | +    }  | 
 | 40 | +    `,  | 
 | 41 | +  ],  | 
 | 42 | +  invalid: [  | 
 | 43 | +    // Classic  | 
 | 44 | +    {  | 
 | 45 | +      code: "export default Component.extend({ routing: service('-routing') });",  | 
 | 46 | +      output: null,  | 
 | 47 | +      errors: [{ message: ERROR_MESSAGE, type: 'Property' }],  | 
 | 48 | +    },  | 
 | 49 | + | 
 | 50 | +    // Octane  | 
 | 51 | +    {  | 
 | 52 | +      code: "export default class MyComponent extends Component { @service('-routing') routing; }",  | 
 | 53 | +      output: null,  | 
 | 54 | +      errors: [{ message: ERROR_MESSAGE, type: 'ClassProperty' }],  | 
 | 55 | +    },  | 
 | 56 | +  ],  | 
 | 57 | +});  | 
0 commit comments