diff --git a/jest.config.js b/jest.config.js index 7a250ed..3ffc8e3 100644 --- a/jest.config.js +++ b/jest.config.js @@ -12,9 +12,9 @@ module.exports = { testMatch: [ '/(tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx))' ], - // collectCoverageFrom: ['src/utils/**/*.{js,vue}'], + collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'], 'coverageDirectory': './tests/coverage', - // 'collectCoverage': true, + 'collectCoverage': true, 'coverageReporters': [ 'lcov', 'text-summary' diff --git a/tests/unit/utils/formatTime.spec.js b/tests/unit/utils/formatTime.spec.js index 2871518..b59a7a9 100644 --- a/tests/unit/utils/formatTime.spec.js +++ b/tests/unit/utils/formatTime.spec.js @@ -3,6 +3,10 @@ import { formatTime } from '@/utils/index.js' describe('Utils:formatTime', () => { const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01" + it('ten digits timestamp', () => { + expect(formatTime((d / 1000).toFixed(0))).toBe('7月13日17时54分') + }) + it('test now', () => { expect(formatTime(+new Date() - 1)).toBe('刚刚') }) diff --git a/tests/unit/utils/parseTime.spec.js b/tests/unit/utils/parseTime.spec.js index b4e86b1..951a6ef 100644 --- a/tests/unit/utils/parseTime.spec.js +++ b/tests/unit/utils/parseTime.spec.js @@ -23,4 +23,12 @@ describe('Utils:parseTime', () => { it('get the day of the week', () => { expect(parseTime(d, '{a}')).toBe('五') // 星期五 }) + + it('get the day of the week', () => { + expect(parseTime(+d + 1000 * 60 * 60 * 24 * 2, '{a}')).toBe('日') // 星期日 + }) + + it('empty argument', () => { + expect(parseTime()).toBeNull() + }) }) diff --git a/tests/unit/utils/validate.spec.js b/tests/unit/utils/validate.spec.js new file mode 100644 index 0000000..21c333a --- /dev/null +++ b/tests/unit/utils/validate.spec.js @@ -0,0 +1,33 @@ +import { isvalidUsername, validateURL, validateLowerCase, validateUpperCase, validatAlphabets } from '@/utils/validate.js' + +describe('Utils:validate', () => { + it('isvalidUsername', () => { + expect(isvalidUsername('admin')).toBe(true) + expect(isvalidUsername('editor')).toBe(true) + expect(isvalidUsername('xxxx')).toBe(false) + }) + + it('validateURL', () => { + expect(validateURL('https://github.com/PanJiaChen/vue-element-admin')).toBe(true) + expect(validateURL('http://github.com/PanJiaChen/vue-element-admin')).toBe(true) + expect(validateURL('github.com/PanJiaChen/vue-element-admin')).toBe(false) + }) + + it('validateLowerCase', () => { + expect(validateLowerCase('abc')).toBe(true) + expect(validateLowerCase('Abc')).toBe(false) + expect(validateLowerCase('123abc')).toBe(false) + }) + + it('validateUpperCase', () => { + expect(validateUpperCase('ABC')).toBe(true) + expect(validateUpperCase('Abc')).toBe(false) + expect(validateUpperCase('123ABC')).toBe(false) + }) + + it(' validatAlphabets', () => { + expect(validatAlphabets('ABC')).toBe(true) + expect(validatAlphabets('Abc')).toBe(true) + expect(validatAlphabets('123aBC')).toBe(false) + }) +})