const createMockService = require('../helper/createMockService') test.skip('report command: basic', async () => { const report = require('../../report') const service = createMockService( [ { id: 'vue-cli-plugin-i18n', apply: api => { api.registerCommand('i18n:report', report.options, report.service) } } ], process.cwd() ) const output = await service.run('i18n:report', { src: './tests/fixture/**/*.?(js|vue)', locales: './tests/fixture/locales/*.json' }) const missingKeys = [ { path: 'messages.fuga.foo', language: 'en' }, { path: 'messages.buz', language: 'ja' }, { path: 'messages.bar', language: 'ja' }, { path: 'messages.hoge', language: 'ja' }, { path: 'messages.fuga.foo', language: 'ja' } ] const unusedKeys = [ { path: 'messages.piyo', language: 'en' }, { path: 'messages.piyo', language: 'ja' } ] const predicate = item => { return { path: item.path, language: item.language } } expect(output.missingKeys.map(predicate)).toEqual(missingKeys) expect(output.unusedKeys.map(predicate)).toEqual(unusedKeys) }) test.skip('report command: required arguments', async () => { const report = require('../../report') const service = createMockService( [ { id: 'vue-cli-plugin-i18n', apply: api => { api.registerCommand('i18n:report', report.options, report.service) } } ], process.cwd() ) const output = await service.run('i18n:report', {}) expect(output).toBeUndefined() }) test.skip('report command: optional arguments', async () => { const report = require('../../report') const service = createMockService( [ { id: 'vue-cli-plugin-i18n', apply: api => { api.registerCommand('i18n:report', report.options, report.service) } } ], process.cwd() ) const output = await service.run('i18n:report', { src: './tests/fixture/**/*.?(js|vue)', locales: './tests/fixture/locales/*.json', type: 'missing', output: './tests/output.json' }) const missingKeys = [ { path: 'messages.fuga.foo', language: 'en' }, { path: 'messages.buz', language: 'ja' }, { path: 'messages.bar', language: 'ja' }, { path: 'messages.hoge', language: 'ja' }, { path: 'messages.fuga.foo', language: 'ja' } ] const predicate = item => { return { path: item.path, language: item.language } } expect(output.missingKeys.map(predicate)).toEqual(missingKeys) })