diff --git a/config/_jest/setupAfterEnv.ts b/config/_jest/setupAfterEnv.ts new file mode 100644 index 00000000..264828a9 --- /dev/null +++ b/config/_jest/setupAfterEnv.ts @@ -0,0 +1 @@ +import '@testing-library/jest-dom/extend-expect' diff --git a/jest.config.js b/jest.config.js index fa4eb51d..f474463b 100644 --- a/jest.config.js +++ b/jest.config.js @@ -5,6 +5,7 @@ module.exports = { coverageDirectory: "./coverage/", moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], setupFiles: ["/config/_jest/setupTests.js"], + setupFilesAfterEnv: ['/config/_jest/setupAfterEnv.ts'], snapshotSerializers: ["enzyme-to-json/serializer"], testMatch: ["**/__specs__/**/*.tsx"], testPathIgnorePatterns: ["/node_modules/", "/fixtures/", "/dist"] diff --git a/package.json b/package.json index c5d56004..492c90ca 100644 --- a/package.json +++ b/package.json @@ -88,8 +88,10 @@ "@storybook/addons": "^5.3.12", "@storybook/react": "^5.3.12", "@storybook/storybook-deployer": "^2.8.1", + "@testing-library/jest-dom": "^4.2.4", + "@testing-library/react": "^9.4.0", "@types/classnames": "^2.2.9", - "@types/jest": "^24.0.21", + "@types/jest": "^24.0.23", "@types/react-dom": "^16.9.4", "@typescript-eslint/eslint-plugin": "^2.6.0", "@typescript-eslint/parser": "^2.6.0", diff --git a/src/calendar/__specs__/__snapshots__/day_spec.tsx.snap b/src/calendar/__specs__/__snapshots__/day_spec.tsx.snap index a2955dcb..b159fd77 100644 --- a/src/calendar/__specs__/__snapshots__/day_spec.tsx.snap +++ b/src/calendar/__specs__/__snapshots__/day_spec.tsx.snap @@ -1,166 +1,16 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Day #render class variations when prop \`isCurrentMonth\` is \`true\` renders 1`] = ` +exports[`custom render 1`] = ` -`; - -exports[`Day #render class variations when prop \`isDisabled\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isHighlighted\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isMonthNext\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isMonthPrev\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isNonSelectable\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isSelectable\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isSelected\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isSelectionEnd\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isSelectionStart\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isToday\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isWeekend\` is \`true\` renders 1`] = ` - -`; - -exports[`Day #render class variations when prop \`isWorkday\` is \`true\` renders 1`] = ` - `; -exports[`Day #render renders 1`] = ` +exports[`default render 1`] = ` + } + + const { container } = renderDay({ customRender }) + + expect(container.firstChild).toMatchSnapshot() +}) + +test('handle currentMonth', () => { + const { container } = renderDay({ isCurrentMonth: true }) + + expect(container.firstChild).toHaveClass('is-current_month') +}) + +test('handle isDisabled', () => { + const { container } = renderDay({ isDisabled: true }) + + expect(container.firstChild).toHaveClass('is-disabled') +}) + +test('handle isHighlighted', () => { + const { container } = renderDay({ isHighlighted: true }) + + expect(container.firstChild).toHaveClass('is-highlighted') +}) + +test('handle isMonthNext', () => { + const { container } = renderDay({ isMonthNext: true }) + + expect(container.firstChild).toHaveClass('is-next_month') +}) + +test('handle isMonthPrev', () => { + const { container } = renderDay({ isMonthPrev: true }) + + expect(container.firstChild).toHaveClass('is-prev_month') +}) + +test('handle isNonSelectable', () => { + const { container } = renderDay({ isNonSelectable: true }) + + expect(container.firstChild).toHaveClass('is-not_selectable') +}) + +test('handle isSelectable', () => { + const { container } = renderDay({ isSelectable: true }) + + expect(container.firstChild).toHaveClass('is-selectable') +}) + +test('handle isSelected', () => { + const { container } = renderDay({ isSelected: true }) + + expect(container.firstChild).toHaveClass('is-selected') +}) + +test('handle isSelectionEnd', () => { + const { container } = renderDay({ isSelectionEnd: true }) + + expect(container.firstChild).toHaveClass('is-end_selection') +}) + +test('handle isSelectionStart', () => { + const { container } = renderDay({ isSelectionStart: true }) + + expect(container.firstChild).toHaveClass('is-start_selection') +}) + +test('handle isToday', () => { + const { container } = renderDay({ isToday: true }) + + expect(container.firstChild).toHaveClass('is-today') +}) + +test('handle isWeekend', () => { + const { container } = renderDay({ isWeekend: true }) + + expect(container.firstChild).toHaveClass('is-weekend') +}) + +test('handle isWorkday', () => { + const { container } = renderDay({ isWorkday: true }) -import Day from '../day' - -describe('Day', () => { - let wrapper, props - - beforeEach(() => { - props = getProps() - wrapper = shallow() - }) - - describe('#render', () => { - it('renders ', () => { - expect(wrapper).toMatchSnapshot() - }) - - it('attaches the proper functions', () => { - const button = wrapper.find('button') - - expect(button.prop('onClick')).toEqual(props.handleOnClick) - expect(button.prop('onMouseEnter')).toEqual(props.handleOnEnter) - }) - - describe('class variations', () => { - describe('when prop `isCurrentMonth` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isCurrentMonth: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isDisabled` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isDisabled: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isHighlighted` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isHighlighted: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isMonthNext` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isMonthNext: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isMonthPrev` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isMonthPrev: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isNonSelectable` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isNonSelectable: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isSelectable` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isSelectable: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isSelected` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isSelected: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isSelectionEnd` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isSelectionEnd: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isSelectionStart` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isSelectionStart: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isToday` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isToday: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isWeekend` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isWeekend: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - - describe('when prop `isWorkday` is `true`', () => { - it('renders ', () => { - wrapper.setProps({ - isWorkday: true, - }) - - expect(wrapper).toMatchSnapshot() - }) - }) - }) - }) -}) -const getProps = (overrides = {}) => ({ - blockClassName: 'example-block-class', - date: '2015-05-05', - handleOnClick: jest.fn(), - handleOnEnter: jest.fn(), - isCurrentMonth: false, - isDisabled: false, - isHighlighted: false, - isMonthNext: false, - isMonthPrev: false, - isNonSelectable: false, - isSelectable: false, - isSelected: false, - isSelectionEnd: false, - isSelectionStart: false, - isToday: false, - isWeekend: false, - isWorkday: false, - ...overrides, + expect(container.firstChild).toHaveClass('is-working_day') }) diff --git a/src/calendar/day.tsx b/src/calendar/day.tsx index c36aa642..008ff2ef 100644 --- a/src/calendar/day.tsx +++ b/src/calendar/day.tsx @@ -30,11 +30,13 @@ const Day: FC = (props) => { blockClassName, customRender, date, + // TODO: rename methods to onCick, onEnter handleOnClick, handleOnEnter, isCurrentMonth, isDisabled, isHighlighted, + // TODO: rename to isNextMonth, isPrevMonth isMonthNext, isMonthPrev, isNonSelectable, diff --git a/yarn.lock b/yarn.lock index 18d68639..069c67df 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1614,13 +1614,20 @@ "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-transform-typescript" "^7.7.4" -"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4", "@babel/runtime@^7.7.6": +"@babel/runtime@^7.0.0", "@babel/runtime@^7.1.2", "@babel/runtime@^7.3.1", "@babel/runtime@^7.3.4", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.0", "@babel/runtime@^7.5.5", "@babel/runtime@^7.6.3", "@babel/runtime@^7.7.2", "@babel/runtime@^7.7.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.8.4.tgz#d79f5a2040f7caa24d53e563aad49cbc05581308" integrity sha512-neAp3zt80trRVBI1x0azq6c57aNBqYZH8KhMm3TaB7wEI5Q4A2SHfBHE8w9gOhI/lrqxtEbXZgQIrHP+wvSGwQ== dependencies: regenerator-runtime "^0.13.2" +"@babel/runtime@^7.5.1", "@babel/runtime@^7.6.2", "@babel/runtime@^7.7.6": + version "7.7.6" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.7.6.tgz#d18c511121aff1b4f2cd1d452f1bac9601dd830f" + integrity sha512-BWAJxpNVa0QlE5gZdWjSxXtemZyZ9RmrmVozxt3NUXeZhVIJ5ANyqmMc0JDrivBZyxUuQvFxlvH4OWWOogGfUw== + dependencies: + regenerator-runtime "^0.13.2" + "@babel/template@^7.1.0", "@babel/template@^7.4.0", "@babel/template@^7.6.0": version "7.6.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.6.0.tgz#7f0159c7f5012230dad64cca42ec9bdb5c9536e6" @@ -2421,6 +2428,11 @@ lodash "^4.17.4" read-pkg-up "^7.0.0" +"@sheerun/mutationobserver-shim@^0.3.2": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@sheerun/mutationobserver-shim/-/mutationobserver-shim-0.3.2.tgz#8013f2af54a2b7d735f71560ff360d3a8176a87b" + integrity sha512-vTCdPp/T/Q3oSqwHmZ5Kpa9oI7iLtGl3RQaA/NyLHikvcrPxACkkKVr/XzkSPJWXHRhKGzVvb0urJsbMlRxi1Q== + "@sindresorhus/is@^0.7.0": version "0.7.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.7.0.tgz#9a06f4f137ee84d7df0460c1fdb1135ffa6c50fd" @@ -2903,6 +2915,42 @@ "@svgr/plugin-svgo" "^4.3.1" loader-utils "^1.2.3" +"@testing-library/dom@^6.11.0": + version "6.11.0" + resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-6.11.0.tgz#962a38f1a721fdb7c9e35e7579e33ff13a00eda4" + integrity sha512-Pkx9LMIGshyNbfmecjt18rrAp/ayMqGH674jYER0SXj0iG9xZc+zWRjk2Pg9JgPBDvwI//xGrI/oOQkAi4YEew== + dependencies: + "@babel/runtime" "^7.6.2" + "@sheerun/mutationobserver-shim" "^0.3.2" + "@types/testing-library__dom" "^6.0.0" + aria-query "3.0.0" + pretty-format "^24.9.0" + wait-for-expect "^3.0.0" + +"@testing-library/jest-dom@^4.2.4": + version "4.2.4" + resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-4.2.4.tgz#00dfa0cbdd837d9a3c2a7f3f0a248ea6e7b89742" + integrity sha512-j31Bn0rQo12fhCWOUWy9fl7wtqkp7In/YP2p5ZFyRuiiB9Qs3g+hS4gAmDWONbAHcRmVooNJ5eOHQDCOmUFXHg== + dependencies: + "@babel/runtime" "^7.5.1" + chalk "^2.4.1" + css "^2.2.3" + css.escape "^1.5.1" + jest-diff "^24.0.0" + jest-matcher-utils "^24.0.0" + lodash "^4.17.11" + pretty-format "^24.0.0" + redent "^3.0.0" + +"@testing-library/react@^9.4.0": + version "9.4.0" + resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-9.4.0.tgz#b021ac8cb987c8dc54c6841875f745bf9b2e88e5" + integrity sha512-XdhDWkI4GktUPsz0AYyeQ8M9qS/JFie06kcSnUVcpgOwFjAu9vhwR83qBl+lw9yZWkbECjL8Hd+n5hH6C0oWqg== + dependencies: + "@babel/runtime" "^7.7.6" + "@testing-library/dom" "^6.11.0" + "@types/testing-library__react" "^9.1.2" + "@types/babel__core@^7.1.0": version "7.1.3" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.3.tgz#e441ea7df63cd080dfcd02ab199e6d16a735fc30" @@ -2995,7 +3043,7 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/jest@^24.0.21": +"@types/jest@^24.0.23": version "24.0.23" resolved "https://registry.yarnpkg.com/@types/jest/-/jest-24.0.23.tgz#046f8e2ade026fe831623e361a36b6fb9a4463e4" integrity sha512-L7MBvwfNpe7yVPTXLn32df/EK+AMBFAFvZrRuArGs7npEWnlziUXK+5GMIUTI4NIuwok3XibsjXCs5HxviYXjg== @@ -3062,7 +3110,7 @@ dependencies: "@types/react" "*" -"@types/react-dom@^16.9.4": +"@types/react-dom@*", "@types/react-dom@^16.9.4": version "16.9.4" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.4.tgz#0b58df09a60961dcb77f62d4f1832427513420df" integrity sha512-fya9xteU/n90tda0s+FtN5Ym4tbgxpq/hb/Af24dvs6uYnYn+fspaxw5USlw0R8apDNwxsqumdRoCoKitckQqw== @@ -3101,6 +3149,21 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== +"@types/testing-library__dom@*", "@types/testing-library__dom@^6.0.0": + version "6.10.0" + resolved "https://registry.yarnpkg.com/@types/testing-library__dom/-/testing-library__dom-6.10.0.tgz#590d76e3875a7c536dc744eb530cbf51b6483404" + integrity sha512-mL/GMlyQxiZplbUuFNwA0vAI3k3uJNSf6slr5AVve9TXmfLfyefNT0uHHnxwdYuPMxYD5gI/+dgAvc/5opW9JQ== + dependencies: + pretty-format "^24.3.0" + +"@types/testing-library__react@^9.1.2": + version "9.1.2" + resolved "https://registry.yarnpkg.com/@types/testing-library__react/-/testing-library__react-9.1.2.tgz#e33af9124c60a010fc03a34eff8f8a34a75c4351" + integrity sha512-CYaMqrswQ+cJACy268jsLAw355DZtPZGt3Jwmmotlcu8O/tkoXBI6AeZ84oZBJsIsesozPKzWzmv/0TIU+1E9Q== + dependencies: + "@types/react-dom" "*" + "@types/testing-library__dom" "*" + "@types/webpack-env@^1.15.0": version "1.15.1" resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.15.1.tgz#c8e84705e08eed430b5e15b39c65b0944e4d1422" @@ -3636,6 +3699,14 @@ argv-formatter@~1.0.0: resolved "https://registry.yarnpkg.com/argv-formatter/-/argv-formatter-1.0.0.tgz#a0ca0cbc29a5b73e836eebe1cbf6c5e0e4eb82f9" integrity sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk= +aria-query@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-3.0.0.tgz#65b3fcc1ca1155a8c9ae64d6eee297f15d5133cc" + integrity sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w= + dependencies: + ast-types-flow "0.0.7" + commander "^2.11.0" + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -3796,6 +3867,11 @@ assign-symbols@^1.0.0: resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= +ast-types-flow@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= + ast-types@0.11.3: version "0.11.3" resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.11.3.tgz#c20757fe72ee71278ea0ff3d87e5c2ca30d9edf8" @@ -5172,12 +5248,12 @@ commander@2.17.x: resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf" integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg== -commander@^2.18.0, commander@^2.9.0: +commander@^2.11.0, commander@^2.9.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== -commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: +commander@^2.18.0, commander@^2.19.0, commander@^2.20.0, commander@~2.20.0: version "2.20.1" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.1.tgz#3863ce3ca92d0831dcf2a102f5fb4b5926afd0f9" integrity sha512-cCuLsMhJeWQ/ZpsFTbE765kvVfoeSddc4nU3up4fV+fDBcfUXnbITJ+JzhkdjzOqhURjZgujxaioam4RM9yGUg== @@ -5710,7 +5786,12 @@ css-what@^3.2.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.2.1.tgz#f4a8f12421064621b456755e34a03a2c22df5da1" integrity sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw== -css@^2.0.0: +css.escape@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" + integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= + +css@^2.0.0, css@^2.2.3: version "2.2.4" resolved "https://registry.yarnpkg.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929" integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw== @@ -8743,6 +8824,11 @@ indent-string@^3.0.0, indent-string@^3.2.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289" integrity sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok= +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + indexes-of@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" @@ -9552,7 +9638,7 @@ jest-config@^24.9.0: pretty-format "^24.9.0" realpath-native "^1.1.0" -jest-diff@^24.3.0, jest-diff@^24.9.0: +jest-diff@^24.0.0, jest-diff@^24.3.0, jest-diff@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== @@ -9657,7 +9743,7 @@ jest-leak-detector@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-matcher-utils@^24.9.0: +jest-matcher-utils@^24.0.0, jest-matcher-utils@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== @@ -13001,7 +13087,7 @@ pretty-error@^2.0.2, pretty-error@^2.1.1: renderkid "^2.0.1" utila "~0.4" -pretty-format@^24.9.0: +pretty-format@^24.0.0, pretty-format@^24.3.0, pretty-format@^24.9.0: version "24.9.0" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== @@ -13902,6 +13988,14 @@ redent@^2.0.0: indent-string "^3.0.0" strip-indent "^2.0.0" +redent@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" + integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== + dependencies: + indent-string "^4.0.0" + strip-indent "^3.0.0" + redeyed@~2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/redeyed/-/redeyed-2.1.1.tgz#8984b5815d99cb220469c99eeeffe38913e6cc0b" @@ -16291,6 +16385,11 @@ w3c-hr-time@^1.0.1: dependencies: browser-process-hrtime "^0.1.2" +wait-for-expect@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/wait-for-expect/-/wait-for-expect-3.0.1.tgz#ec204a76b0038f17711e575720aaf28505ac7185" + integrity sha512-3Ha7lu+zshEG/CeHdcpmQsZnnZpPj/UsG3DuKO8FskjuDbkx3jE3845H+CuwZjA2YWYDfKMU2KhnCaXMLd3wVw== + walker@^1.0.7, walker@~1.0.5: version "1.0.7" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb"