From c9eb3e79ff94f22efea0f2461ebe5918f888e7d8 Mon Sep 17 00:00:00 2001 From: Miha Sedej Date: Thu, 29 Aug 2019 20:26:48 +0200 Subject: [PATCH] test(tests): add missing tests affects: @datepicker-react/hooks --- lerna-debug.log | 99 ++++++++++++++++++++ packages/hooks/src/useMonth/useMonth.test.ts | 70 ++++++++++++++ 2 files changed, 169 insertions(+) create mode 100644 lerna-debug.log diff --git a/lerna-debug.log b/lerna-debug.log new file mode 100644 index 0000000..9e9b3f2 --- /dev/null +++ b/lerna-debug.log @@ -0,0 +1,99 @@ +0 warn deprecated --release has been replaced by --create-release=github +1 silly argv { _: [ 'version' ], +1 silly argv 'github-release': true, +1 silly argv 'conventional-commits': true, +1 silly argv conventionalCommits: true, +1 silly argv lernaVersion: '3.16.4', +1 silly argv '$0': +1 silly argv '/Users/tresko/Documents/Projects/react-datepicker/node_modules/.bin/lerna', +1 silly argv bump: 'patch', +1 silly argv createRelease: 'github' } +2 notice cli v3.16.4 +3 verbose rootPath /Users/tresko/Documents/Projects/react-datepicker +4 info current version 2.0.1 +5 silly isAnythingCommitted +6 verbose isAnythingCommitted 1 +7 silly currentBranch +8 verbose currentBranch master +9 silly remoteBranchExists +10 silly isBehindUpstream +11 silly isBehindUpstream master is behind origin/master by 0 commit(s) and ahead by 0 +12 silly hasTags +13 verbose hasTags true +14 silly git-describe.sync "v2.0.1-1-g062f66f" => {"lastTagName":"v2.0.1","lastVersion":"v2.0.1","refCount":"1","sha":"062f66f","isDirty":false} +15 info Looking for changed packages since v2.0.1 +16 silly checking diff packages/hooks +17 silly found diff in packages/hooks/lib/index.cjs.js +17 silly found diff in packages/hooks/lib/index.esm.js +17 silly found diff in packages/hooks/src/useMonth/useMonth.test.ts +17 silly found diff in packages/hooks/src/useMonth/useMonth.utils.ts +18 verbose filtered diff [ 'packages/hooks/lib/index.cjs.js', +18 verbose filtered diff 'packages/hooks/lib/index.esm.js', +18 verbose filtered diff 'packages/hooks/src/useMonth/useMonth.test.ts', +18 verbose filtered diff 'packages/hooks/src/useMonth/useMonth.utils.ts' ] +19 silly checking diff packages/styled +20 silly found diff in packages/styled/lib/index.cjs.js +20 silly found diff in packages/styled/lib/index.esm.js +21 verbose filtered diff [ 'packages/styled/lib/index.cjs.js', +21 verbose filtered diff 'packages/styled/lib/index.esm.js' ] +22 verbose updated @datepicker-react/hooks +23 verbose updated @datepicker-react/styled +24 verbose git-describe undefined => "v2.0.1-1-g062f66f" +25 silly git-describe parsed => {"lastTagName":"v2.0.1","lastVersion":"v2.0.1","refCount":"1","sha":"062f66f","isDirty":false} +26 info execute Creating releases... +27 silly lifecycle No script for "preversion" in "react-datepicker", continuing +28 silly lifecycle No script for "preversion" in "@datepicker-react/hooks", continuing +29 silly lifecycle No script for "version" in "@datepicker-react/hooks", continuing +30 silly fixed for @datepicker-react/hooks at /Users/tresko/Documents/Projects/react-datepicker/packages/hooks +31 verbose getChangelogConfig using preset "conventional-changelog-angular" +32 silly npa { type: 'tag', +32 silly npa registry: true, +32 silly npa where: undefined, +32 silly npa raw: 'conventional-changelog-angular', +32 silly npa name: 'conventional-changelog-angular', +32 silly npa escapedName: 'conventional-changelog-angular', +32 silly npa scope: undefined, +32 silly npa rawSpec: '', +32 silly npa saveSpec: null, +32 silly npa fetchSpec: 'latest', +32 silly npa gitRange: undefined, +32 silly npa gitCommittish: undefined, +32 silly npa hosted: undefined } +33 verbose getChangelogConfig Attempting to resolve preset "conventional-changelog-angular" +34 info getChangelogConfig Successfully resolved preset "conventional-changelog-angular" +35 silly fixed writing new entry: "## [2.0.2](https://github.com/tresko/react-datepicker/compare/v2.0.1...v2.0.2) (2019-08-29)\n\n\n### Bug Fixes\n\n* **hooks:** fix start of the month ([062f66f](https://github.com/tresko/react-datepicker/commit/062f66f)), closes [#7](https://github.com/tresko/react-datepicker/issues/7)\n\n\n\n" +36 verbose fixed wrote /Users/tresko/Documents/Projects/react-datepicker/packages/hooks/CHANGELOG.md +37 silly lifecycle No script for "preversion" in "@datepicker-react/styled", continuing +38 silly lifecycle No script for "version" in "@datepicker-react/styled", continuing +39 silly fixed for @datepicker-react/styled at /Users/tresko/Documents/Projects/react-datepicker/packages/styled +40 silly fixed writing new entry: "## [2.0.2](https://github.com/tresko/react-datepicker/compare/v2.0.1...v2.0.2) (2019-08-29)\n\n\n### Bug Fixes\n\n* **hooks:** fix start of the month ([062f66f](https://github.com/tresko/react-datepicker/commit/062f66f)), closes [#7](https://github.com/tresko/react-datepicker/issues/7)\n\n\n\n" +41 verbose fixed wrote /Users/tresko/Documents/Projects/react-datepicker/packages/styled/CHANGELOG.md +42 silly root for react-datepicker at /Users/tresko/Documents/Projects/react-datepicker +43 silly root writing new entry: "## [2.0.2](https://github.com/tresko/react-datepicker/compare/v2.0.1...v2.0.2) (2019-08-29)\n\n\n### Bug Fixes\n\n* **hooks:** fix start of the month ([062f66f](https://github.com/tresko/react-datepicker/commit/062f66f)), closes [#7](https://github.com/tresko/react-datepicker/issues/7)\n\n\n\n" +44 verbose root wrote /Users/tresko/Documents/Projects/react-datepicker/CHANGELOG.md +45 silly lifecycle No script for "version" in "react-datepicker", continuing +46 silly gitAdd [ '/Users/tresko/Documents/Projects/react-datepicker/packages/hooks/package.json', +46 silly gitAdd '/Users/tresko/Documents/Projects/react-datepicker/packages/hooks/CHANGELOG.md', +46 silly gitAdd '/Users/tresko/Documents/Projects/react-datepicker/packages/styled/package.json', +46 silly gitAdd '/Users/tresko/Documents/Projects/react-datepicker/packages/styled/CHANGELOG.md', +46 silly gitAdd '/Users/tresko/Documents/Projects/react-datepicker/CHANGELOG.md', +46 silly gitAdd '/Users/tresko/Documents/Projects/react-datepicker/lerna.json' ] +47 silly gitCommit v2.0.2 +48 verbose git [ 'commit', '-m', 'v2.0.2' ] +49 silly gitTag v2.0.2 +50 verbose git [ 'tag', 'v2.0.2', '-m', 'v2.0.2' ] +51 silly lifecycle No script for "postversion" in "@datepicker-react/hooks", continuing +52 silly lifecycle No script for "postversion" in "@datepicker-react/styled", continuing +53 silly lifecycle No script for "postversion" in "react-datepicker", continuing +54 info git Pushing tags... +55 silly gitPush origin master +56 silly parseGitRepo +57 verbose git [ 'config', '--get', 'remote.origin.url' ] +58 silly createGitHubClient +59 error Error: A GH_TOKEN environment variable is required. +59 error at createGitHubClient (/Users/tresko/Documents/Projects/react-datepicker/node_modules/@lerna/github-client/lib/github-client.js:17:11) +59 error at createClient (/Users/tresko/Documents/Projects/react-datepicker/node_modules/@lerna/version/lib/create-release.js:16:14) +59 error at createRelease (/Users/tresko/Documents/Projects/react-datepicker/node_modules/@lerna/version/lib/create-release.js:24:18) +59 error at tasks.push (/Users/tresko/Documents/Projects/react-datepicker/node_modules/@lerna/version/index.js:271:9) +59 error at pReduce (/Users/tresko/Documents/Projects/react-datepicker/node_modules/p-waterfall/index.js:4:73) +59 error at Promise.all.then.value (/Users/tresko/Documents/Projects/react-datepicker/node_modules/p-reduce/index.js:16:10) diff --git a/packages/hooks/src/useMonth/useMonth.test.ts b/packages/hooks/src/useMonth/useMonth.test.ts index 9c5a7a3..c5afa21 100644 --- a/packages/hooks/src/useMonth/useMonth.test.ts +++ b/packages/hooks/src/useMonth/useMonth.test.ts @@ -200,6 +200,76 @@ describe('useMonth', () => { expect(result.current.weekdayLabels[6]).toBe('Fr') }) + test('should return days for september 2019', () => { + const {result} = renderHook(() => useMonth({year: 2019, month: 8})) + + // Days + expect(result.current.days.length).toBe(36) + expect(typeof result.current.days[0]).toBe('number') + expect(typeof result.current.days[1]).toBe('number') + expect(typeof result.current.days[2]).toBe('number') + expect(typeof result.current.days[3]).toBe('number') + expect(typeof result.current.days[4]).toBe('number') + expect(typeof result.current.days[5]).toBe('number') + // @ts-ignore + expect(result.current.days[6].dayLabel).toBe('01') + // @ts-ignore + expect(result.current.days[result.current.days.length - 1].dayLabel).toBe('30') + + // Week days + expect(result.current.weekdayLabels.length).toBe(7) + expect(result.current.weekdayLabels[0]).toBe('Mo') + expect(result.current.weekdayLabels[6]).toBe('Su') + + // Month Label + expect(result.current.monthLabel).toBe('September 2019') + }) + + test('should return days for september 2019 start with wednesday', () => { + const {result} = renderHook(() => useMonth({year: 2019, month: 8, firstDayOfWeek: 3})) + + // Days + expect(result.current.days.length).toBe(34) + expect(typeof result.current.days[0]).toBe('number') + expect(typeof result.current.days[1]).toBe('number') + expect(typeof result.current.days[2]).toBe('number') + expect(typeof result.current.days[3]).toBe('number') + // @ts-ignore + expect(result.current.days[4].dayLabel).toBe('01') + // @ts-ignore + expect(result.current.days[result.current.days.length - 1].dayLabel).toBe('30') + + // Week days + expect(result.current.weekdayLabels.length).toBe(7) + expect(result.current.weekdayLabels[0]).toBe('We') + expect(result.current.weekdayLabels[6]).toBe('Tu') + + // Month Label + expect(result.current.monthLabel).toBe('September 2019') + }) + + test('should return days for october 2019 start with friday', () => { + const {result} = renderHook(() => useMonth({year: 2019, month: 9, firstDayOfWeek: 5})) + // Days + expect(result.current.days.length).toBe(35) + expect(typeof result.current.days[0]).toBe('number') + expect(typeof result.current.days[1]).toBe('number') + expect(typeof result.current.days[2]).toBe('number') + expect(typeof result.current.days[3]).toBe('number') + // @ts-ignore + expect(result.current.days[4].dayLabel).toBe('01') + // @ts-ignore + expect(result.current.days[result.current.days.length - 1].dayLabel).toBe('31') + + // Week days + expect(result.current.weekdayLabels.length).toBe(7) + expect(result.current.weekdayLabels[0]).toBe('Fr') + expect(result.current.weekdayLabels[6]).toBe('Th') + + // Month Label + expect(result.current.monthLabel).toBe('October 2019') + }) + test('should return right formats', () => { const {result} = renderHook(() => useMonth({