Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Nov 21, 2022
    • Nemanja Glumac's avatar
      Upgrade jest to the latest major version 29 (#26566) · cdddc69b
      Nemanja Glumac authored
      
      * Upgrade `jest` to the latest version (29.3.1)
      
      * Add `jest-environment-jsdom` as a separate package
      
      This was a breaking change since the version 28
      
      * Upgrade `@types/jest` to the latest version
      
      * Upgrade `babel-jest` to the latest version
      
      * Upgrade `@testing-library/jest-dom` to the latest version
      
      * Upgrade `@types/testing-library__jest-dom` to the latest version
      
      * Upgrade `jest-localstorage-mock` to the latest version
      
      * Upgrade `jest-watch-typeahead` to the latest version
      
      * fix jest config for v29
      
      * fix specs
      
      Co-authored-by: default avatarAleksandr Lesnenko <alxnddr@gmail.com>
      cdddc69b
  2. Oct 26, 2022
  3. Oct 11, 2022
    • Aleksandr Lesnenko's avatar
      Static row chart (#25829) · 23837a6f
      Aleksandr Lesnenko authored
      * support static row chart on the backend
      
      * update and add types
      
      * update types
      
      * add chart columns helper, dataset grouping
      
      * add viz settings helpers
      
      * fix text measuring
      
      * add generic row chart component for static and dynamic rendering
      
      * update deps
      
      * fix jest config for d3
      
      * allow importing cljs in static viz
      
      * add a hook for getting chart columns and series
      
      * add a static row chart
      
      * build cljs before static viz
      
      * specs
      
      * add stories, moved isomorphic row chart component to the shared folder
      
      * update import
      
      * fix backend merge
      
      * remove an extra line
      
      * one more extra line
      
      * exclude unused props from the row chart
      
      * cleanup
      
      * review
      
      * fix types
      
      * fix log scale
      
      * add visual spec, fix goal label truncate
      
      * review
      
      * fix mock path
      
      * fix specs
      23837a6f
  4. Oct 10, 2022
  5. Aug 31, 2022
  6. Jul 04, 2022
  7. Jun 29, 2022
  8. May 12, 2022
  9. Dec 07, 2021
  10. Oct 07, 2021
    • Alexander Lesnenko's avatar
      add basic typescript configuration (#18284) · 8114af48
      Alexander Lesnenko authored
      
      * add basic typescript configuration
      
      * convert a tiny hook use-debounced-value to typescript
      
      * allow any for now?
      
      * update terser and static viz configs
      
      * adjust config
      
      * change extension of QuestionActivityTimeline from jsx to js to match jest config
      
      * adjust config
      
      * skip failing tests
      
      * Fix missing question method in unit tests (#18314)
      
      * review fix
      
      * fix
      
      Co-authored-by: default avatarAnton Kulyk <kuliks.anton@gmail.com>
      8114af48
  11. Sep 07, 2021
  12. Sep 01, 2021
  13. Aug 24, 2021
  14. Aug 23, 2021
  15. Aug 19, 2021
  16. Aug 03, 2021
  17. Jul 30, 2021
    • Dalton's avatar
      Upgrade babel to 7.x.x and jest to 27.x.x (#17137) · 3a7c3987
      Dalton authored
      * Update babel dependencies to latest
      
      * Remove some old babel dependencies
      
      The dependencies in this commit include dependencies that have been
      renamed, such as babel-cli which is now @babel/cli. It also includes
      dependencies that have been replaced, such as babel-preset-stage-0 and
      its ilk, which have been replaced with @babel/preset-env.
      
      * Remove babel-register dependency
      
      This is referenced in our webpack.config.js file. I don't think we need
      Babel in our Node envionment, but I could be wrong, so leaving this as a
      separate commit.
      
      * Remove @babel/standalone and dependent code
      
      We're using @babel/standalone to support the writing of JSX in our
      internal-only ScratchApp editor. Unfortunately, this dependency is
      large--1.5mb not gzipped--and our current build does not intelligently
      split bundles, meaning our users our burdened by the size of this
      dependency whenever they must redownload the Metabase JS bundle.
      
      I'm removing it. We should still be able to write JS in the ScratchApp,
      but JSX no longer.
      
      * Add @babel/node to dev deps
      
      Needed by a cypress command
      
      * Add browserslist config
      
      Babel's preset-env dep needs this config to determine how to transform
      our JavaScript. By default I believe it ends up defaulting to
      "defaults."
      
      "defaults" is equivalent to the following rules:
      > 0.5%, last 2 versions, Firefox ESR, not dead
      
      A comma between rules represents a UNION operator.
      
      Per
      https://www.metabase.com/docs/latest/faq/general/supported-browsers.html
      
      
      we have deprecated IE 11 so I am including that explicitly in our
      browserslist.
      
      * Update babelrc plugins and presets
      
      - Replaced presets with preset-env and preset-react
      - Updated the names of some plugins, like transform-decorators-legacy,
        which is now @babel/plugin-proposal-decorators with an explicit
        "legacy: true" passed in the config.
      - Removed add-react-displayname because it is included in preset-react
      - Removed transform-builtin-extend because it is included in preset-env*
      - Removed syntax-trailing-function-commas because it is supported by
        all browsers we support
      
      * note: There is a "loose" config option for handling the extension of builtin
      classes. We may need it, but I am not sure.
      
      * Update babel cli args
      
      Replace -q with --quiet because -q no longer exists
      
      * Fix circular dep in auth.js by making it async
      
      Our app unfortunately contains MANY circular dependencies. Some, like
      this one, caused problems when the app instantiates because the
      "refreshCurrentUser" method is undefined when auth.js is initially run.
      
      While we should in the future avoid having circular deps in the first
      place, making them run async by requiring the dep and function run-time
      fixes this particular issue.
      
      * Fix circular dependency in metabase/redux/requests.js
      
      The handleActions and createAction methods imported from
      "metabase/lib/redux" are actually just methods from the "redux-actions"
      dependency... so importing those methods directly from that dep fixes
      this circular dependency problem.
      
      * Remove references to global.services and exports in metabase/services
      
      This line breaks the build. Git blame says the line is 5 years old, and
      I wouldn't expect such code to be used with how our app now requires
      deps.
      
      * Fix MBQLArrayClause problem caused by Array extension
      
      * Explicitly pass args from flatMap to function via anonymous cb
      
      I think the old Array.prototype.flatMap prototype must've had different
      args. They are now "currentValue, index, array" so when we passed it
      "enumeratePaths" as a callback, the second arg of enumeratePaths gets
      set to a number. This breaks the logic of enumeratePaths because it is a
      recursive function that depends on that second arg getting initialized
      as an empty array by default.
      
      * Remove code that spreads non-iterable value in array
      
      New Babel is stricter about handling this sort of code that doesn't
      match the JS spec. You can't spread an undefined value inside of an
      iterator.
      
      * Update jest and babel-jest to latest
      
      Updating Babel breaks our unit tests. Updating nothing causes every test
      to fail due to a Babel version mismatch. Updating only babel-jest causes
      the following error:
      
      TypeError: Jest: a transform must export a `process` function
      
      There may be a way around updating Jest, but updating it does not appear
      to be too difficult.
      
      * Set the testEnvironment to jsdom
      
      This was the default testEnvironment in our old version of jest. At some
      point the default was changed to node.
      
      * Remove unfinished "pending" unit tests
      
      I'm unfamiliar with this pending function, but the function no longer
      exists, causing the tests to fail.
      
      * don't pass async callback to describe
      
      * Update name of runTimersToTime to advanceTimersByTime
      
      * Fix incorrectly nested unit test
      
      * mock SVGElement.prototype.getBBox method
      
      * Don't return values in describe callback
      
      * Move variable declaration to above usage
      
      * Fix prettier error
      
      * Upgrade `documentation` library to the latest version (13.x.x)
      
      This library was the only one left that was still using Babel 6.
      
      * Return an MBQLClause instance after using Array methods
      
      * remove 'not IE 11' from browserslist
      
      * Remove mock that breaks unit test
      
      Co-authored-by: default avatarNemanja <31325167+nemanjaglumac@users.noreply.github.com>
      3a7c3987
  18. Jul 12, 2021
  19. Mar 05, 2021
    • Cam Saul's avatar
      Shared CLJ/CLJS lib (#14980) · cca03d22
      Cam Saul authored
      * Shared CLJ/CLJS lib (PoC/WIP)
      
      * PoC 2.0
      
      * Fixes :wrench:
      
      * More test fixes :wrench:
      
      * Bump shadow-cljs version
      
      * Fix more stuff
      
      * Need to ^:export the exports
      
      * CI fixes :wrench:
      
      * Add eslintignore
      
      * Ignore cljs files for FE code coverage
      
      * Try prefixing CLJS -> JS import with goog:
      
      * Revert indentation change
      
      * No goog:
      
      * Add .prettierignore
      
      * Use advanced build for now for JS tests unit we can figure out how to make it work
      cca03d22
  20. Jan 07, 2021
    • Nemanja Glumac's avatar
      Remove Enzyme (#14094) · 7b40a0c9
      Nemanja Glumac authored
      * Convert `AccordionList.unit.spec.js`
      
      * Convert `LoadingAndErrorWrapper.unit.spec.js`
      
      * Convert `ProfileLink.unit.spec.js`
      
      * Convert `QuestionAndResultLoader.unit.spec.js`
      
      * Convert `Calendar.unit.spec.js`
      
      * Convert `DateRangeWidget.unit.spec.js`
      
      * Convert `DatePicker.unit.spec.js`
      
      * Convert `Overwlorld.unit.spec.js`
      
      * Convert `QuestionResultLoader.unit.spec.js`
      
      * Convert `LegendVertical.unit.spec.js`
      
      * Convert `ChartSettingOrderedColumns.unit.spec.js`
      
      * Convert `ChartNestedSettingsSeries.unit.spec.js`
      
      * Convert `ObjectDetail.unit.spec.js`
      
      * Convert `FilterPopover.unit.spec.js`
      
      * Convert `TimeseriesFilterWidget.unit.spec.js`
      
      * Convert `PivotByDrill.unit.spec.js`
      
      * Convert `FieldValuesWidget.unit.spec.js`
      
      * Convert `Logs.unit.spec.js`
      
      * Convert `GuiQueryEditor.unit.spec.js`
      
      * Convert `SaveQuestionModal.unit.spec.js`
      
      * Add todo note to `DashCard.unit.spec.js`
      
      The test was already skipped.
      
      * Convert `EntityListLoader.unit.spec.js` [ci skip]
      
      * convert QuestionLoader tests (#14224)
      
      * Convert `TokenField.unit.spec.js` from Enzyme to RTL [ci skip] (#14223)
      
      * Add `@testing-library/user-event` library
      
      `@testing-library/dom` is required:
      https://github.com/testing-library/user-event#installation
      
      * Convert initial batch of tests
      
      * Convert "when updateOnInputChange is provided" describe block
      
      * Skip still unconverted `describe` blocks
      
      * Convert "when updateOnInputBlur is true" describe block
      
      * Convert "when updateOnInputBlur is false" describe block
      
      * Convert "with multi=true" describe block
      
      * Convert "with multi=false" describe block
      
      * Convert "custom layoutRenderer" describe block
      
      * Delete obsolete code and fix linter errors
      
      * Extract logic for `type()` function
      
      * Rename test
      
      * Extract logic for asserting on the text content for values and options
      
      * Extract logic for clicking on text elements
      
      * Extract logic for entering keyboard keys into input [ci skip]
      
      * Fix `DateRangeWidget` test
      
      * Convert `pulse.unit.spec.js`
      
      * Convert `Background.unit.spec.js`
      
      * Convert `LoginApp.unit.spec.js` to Cypress tests
      
      There are "normal" and enterprise version of these tests. This commit covers both.
      
      * Delete `integration.js` that is now no longer in use
      
      * Delete `TimeseriesMode.unit.spec.js`
      
      It was introduced originally because `TimeseriesGroupingWidget` component was commented out.
      https://github.com/metabase/metabase/commit/77877896b2fda41455b9f459fad4956cee1578b1
      
      * Remove Enzyme
      
      * Remove Enzyme-specific "hacks" and mocks
      
      * Fix linter complaining about undefined value in skipped test
      
      * Use more descriptive const names
      
      * Tidy up comments in `DashCard.unit.spec.js` [ci skip]
      
      * Remove obsolete tests from `DashCard.unit.spec.js` [ci skip]
      
      - `.Card--recent` has been removed in https://github.com/metabase/metabase/pull/14269
      
      
      - `.Card--unmapped` was removed prior to these changes, but I didn't notice it wasn't used until now.
      
      Co-authored-by: default avatarPaul Rosenzweig <paulrosenzweig@users.noreply.github.com>
      7b40a0c9
  21. Oct 23, 2020
  22. Oct 08, 2020
  23. Jan 21, 2020
  24. Dec 02, 2019
  25. Feb 05, 2019
  26. Feb 01, 2019
  27. Jan 31, 2019
  28. Apr 02, 2018
  29. Nov 06, 2017
  30. Nov 02, 2017
  31. Nov 01, 2017
  32. Aug 08, 2017
  33. Jul 06, 2017
  34. Jun 22, 2017
Loading