Skip to content
Snippets Groups Projects
This project is mirrored from https://github.com/metabase/metabase. Pull mirroring updated .
  1. Mar 24, 2023
    • Nick Fitzpatrick's avatar
      Update to Cypress 12 (#29396) · ecbaf616
      Nick Fitzpatrick authored
      * Updating to cypress 12
      
      * updating deps
      
      * Updating Tests. Be Green Plz
      
      * removing custom test id from select button
      
      * Select Button Tuning
      ecbaf616
  2. Mar 01, 2023
    • Nemanja Glumac's avatar
      [E2E] Regroup and move all related files to the root (#28749) · f71f20e1
      Nemanja Glumac authored
      * Register new E2E path alias
      
      * Move E2E support files
      
      * Move E2E runner files
      
      * Move E2E snapshot related files
      
      * Move E2E visual regression tests
      
      * Move E2E `downloads` scenarios
      
      * Move E2E `admin` scenarios
      
      * Move E2E `auditing` scenarios
      
      * Move E2E `bining` scenarios
      
      * Move E2E `ccollections` scenarios
      
      * Move E2E `cross-version` scenarios
      
      * Move E2E `custom-column` scenarios
      
      * Move E2E `dashboard` scenarios
      
      * Move E2E `dashboard-filters` scenarios
      
      * Move E2E `dashboard` reproductions
      
      * Move E2E `embedding` scenarios
      
      * Move E2E `filters` scenarios
      
      * Move E2E `joins` scenarios
      
      * Move E2E `models` scenarios
      
      * Move E2E `native-filters` scenarios
      
      * Move E2E `native` scenarios
      
      * Move E2E `onboarding` scenarios
      
      * Move E2E `organization` scenarios
      
      * Move E2E `permissions` scenarios
      
      * Move E2E `question` scenarios
      
      * Move E2E `visualizations` scenarios
      
      * Move E2E `sharing` scenarios
      
      * Move E2E `docker-compose`
      
      * Fix commands imports
      
      * Fix helpers imports
      
      * Fix downloads reproductions imports
      
      * Fix integration imports
      
      * Move visual regression tests
      
      * Various fixes
      
      * Move `validate-e2e-files` script
      
      * Add eslint rules for E2E folder
      
      * Improve file paths
      
      * Move `cross-version` tests into scenarios
      
      * Path fixes
      
      * Register E2E alias in tsconfig
      
      * Fix failing tests after rebase
      f71f20e1
  3. Feb 28, 2023
    • Bryan Maass's avatar
      Make chain filters viewable when collection permissions allow it (#28581) · b245a5cf
      Bryan Maass authored
      * Adds tests for chain filters security issue
      
      * add another test
      
      * Users with collection permissions can view chained filters for dashboard
      
      - this obeys sandboxing
      
      * Users with collection access should be allowed to view chain filters
      
      * add test + fix case for block filters
      
      * check with premium features
      
      * check premium features + revert with-premium-features in tests
      
      * remove block check
      
      * respond to review comments
      
      * ensure data-perms are there + check blocked
      
      * rewrite e2e test so that it actually tests chain filters
      
      * properly toggle linked filters on
      
      - don't use random classes, etc
      
      * rename *param-values-query* dynamic var
      
      * update chain-filter docstring
      
      * token-features should still be private
      b245a5cf
  4. Jan 12, 2023
  5. Oct 04, 2022
  6. Jul 06, 2022
  7. Jul 05, 2022
  8. Jun 26, 2022
  9. Apr 29, 2022
  10. Mar 24, 2022
    • Nemanja Glumac's avatar
      [E2E] Introduce `visitDashboard` helper (#21218) · 9e534c8d
      Nemanja Glumac authored
      * Create `visitDashboard` E2E helper
      
      * Apply helper to the related tests
      
      * Fix waiting for redundant xhrs
      
      * Make helper work for users without permission to access dashboard
      
      * Do not use helper when asserting on individual dashcard queries
      
      * Refactor repro for 18454
      
      * Improve dashboard permissions test
      9e534c8d
  11. May 03, 2021
  12. Apr 15, 2021
    • Dalton's avatar
      Replace "Other Categories" with "Text or Category" section (#15557) · 5529e1ce
      Dalton authored
      
      * add string parameter to dashboards instead of replacing location/category
      
      * merge category and string sections
      
      * make location options strings when flag flipped
      
      * update strings in cy tests
      
      * filter location fields when using text/category parameter
      
      * Microcopy tweaks
      
      * update more cy strings
      
      * replace location switch default with isLocation
      
      Co-authored-by: default avatarMaz Ameli <maz@metabase.com>
      5529e1ce
  13. Apr 12, 2021
    • Dalton's avatar
      Dashboard parameter field filter operators feature flag (#15519) · a362e2f3
      Dalton authored
      
      * Backend feature flag for new field filters
      
      * Feature flag new parameter options
      
      When the "field-filter-operators-enabled?" flag is disabled we do the following:
      1. Replace new operator options with old category and location/city, etc., options
         in the PARAMETER_OPTIONS list found in metabase/meta/Parameter.js
      2. Hide numbers section in the PARAMETER_SECTIONS list found in
         metabase/meta/Dashboard.js
      3. Return args as-is in the mapUIParameterToQueryParameter function
         found in metabase/meta/Parameter.js
      
      React/UI code handles both old options and new options so doesn't need
      to change. Old parameter types like "category" and "location/city" are
      treated like "string/=" in the UI but retain their own parameter type
      when used to send a new query.
      
      * Fix FE issues caused by meta/Parameter refactor
      
      * mock the field operator param flag to make tests pass
      
      * add/fix cypress tests
      
      * fix import in ParametersPopover
      
      * update widget tag type
      
      * Enable field filter operators for cypress tests
      
      * Question marks are questionable
      
      * Conditionally use category or string/= if field filters are enabled
      
      * rmv mocks where we don't need them
      
      * rmv mock from chained-filters test
      
      * env vars as string in project.clj, alignment
      
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
      a362e2f3
  14. Mar 29, 2021
    • Dalton's avatar
      add string/number operator subtypes to dashboard parameter filters (#15068) · f10e9cf2
      Dalton authored
      
      * Remove location sub-categories
      
      These sub-categories are only for filtering the list of options
      when mapping a parameter filter to a field. Since we are introducing
      operator types as a sub-category of location, city/zip/etc. just get in
      the way.
      
      * add number section + number/string operator subtypes
      
      Light refactor of meta/Dashboard changes
      
      rmv 'all-options' options (for now)
      
      * add/update parameter type icons
      
      * pass operator to ParameterFieldWidget + show input per operator field
      
      * Add operator helper fns that aren't dependent on fields/tables
      
      * Make operator prop optional
      
      fix date filter err
      
      * add combined  name for native question filter widget type list
      
      Otherwise, a field that matches both "Location" and "Category"
      options will show duplicate "Starts with" options, etc. Now,
      that'll look like "Category - Starts with" and "Location - Starts with"
      
      * correct some unused prop/arg passing
      
      * Convert location/category parameter types to string for query
      
      location/category don't mean anything to BE but we use them for
      "reasons" on the FE. Reasons are legacy reliance on unique-ness of
      the parameter.type value, primarily.
      
      * operators in backend
      
      * Remove errant tap>
      
      * Docstrings and differing numbers in tests in some dbs
      
      * Make unary private so docstring checker ~shuts-up~ is satisfied
      
      * Don't parse arguments to operators params
      
      they were coming in just fine from the FE as numeric or string
      types. no need to ensure strings everywhere and parse here
      
      * add max-width to PopoverPicker
      
      * rmv unused value
      
      * use combinedName on dashboard parameters
      
      * fix parameter to mbql code
      
      * Ensure = operator filter popovers have no label
      
      This is to match "old" style of parameter popover
      
      * Update Cypress tests to reflect new parameter flow
      
      fix cypress dashboard parameter tests
      
      Fix more cy tests
      
      * Don't call fk/joinAlias on ExpressionDimension
      
      The methods don't exist on ExpressionDimension class.
      
      This doesn't make them work (yet), but it prevents the app
      from crashing.
      
      * Namespace doc and remove unnecessary comment
      
      * tap>-spy in dev
      
      * first pass at substitution of new operators in native
      
      * Docstring on wrap-value-literals-in-mbql to appease the gods
      
      * variadic equality operators (string/= number/=)
      
      * move functions out of component file
      
      * Pass parameter object to tag editor for use in default input
      
      We should inline this input eventually because it looks ugly.
      
      * map parameters in Questions to correct type
      
      * continue to pass janky fake parameter for text/number tags
      
      * mongo native substitution
      
      * variadic not-equals for string and number
      
      * Docstring and use correct function to make errors
      
      * add number/between dash param cy test
      
      * Update function name to better reflect behavior
      
      * Add unit tests for paramer/operator util fns
      
      add unit tests for parameter util functions
      
      add unit test for operator util fns
      
      * add variadic string 'is not' param operator option
      
      * Modify operator parameter display labels
      
      don't append 'matches exactly' to location/category parameters
      
      label tweaks
      
      Update cy tests to reference correct label name
      
      rmv it.only
      
      * Desugar mongo parameters mbql
      
      desugaring makes for a bit more verbose query but that's ok.This
      change was done to ensure that we negated regexes in a correct way,
      and to do so we always return the string version. This ensures that it
      can be json/generate-string'd for native parameters or left as
      datastructures and sent to monger
      
      * Cleanup stale comments and fixup docstring for consistency
      
      * Arglists metadata on defmulti and denude some threaded forms
      
      * add single arity number tag predicate to variable filter
      
      * add Location operators to fix parameter<->filter mapping
      
      For question filters to work we need for the new parameter operators
      to be supported by "location" fields in all areas of the app.
      
      * Don't show coords for param number widgets
      
      I don't think we want to support all the various number operators when
      dealing with coordinates, so in order to avoid that I'm preventing the
      mapping of number parameter operator to coord fields.
      
      * prevent mapping of tags to non-equal operators
      
      while possibly useful to end users, this needs more UI work on the
      native question side of things.
      
      * Ensure parameter values are wrapped in an array
      
      When an = operator is mapped to a field AND a tag, it ends up not being
      wrapped in an array due to the TextWidget (I think).
      
      ensure parameter value is an array
      
      ensure number params have an array value
      
      * Sort imports correctly
      
      clojure-lsp used to do this incorrectly (sorting `[` before `j`) and
      that has now been fixed
      
      Co-authored-by: default avatardan sutton <dan@dpsutton.com>
      f10e9cf2
  15. Mar 10, 2021
    • Nemanja Glumac's avatar
      Consolidate users in Cypress tests (#15058) · ef824613
      Nemanja Glumac authored
      
      * Move user groups above users
      
      * Use `email` in a user object instead of `username`
      
      * Add `createUser` function
      
      - Get rid of `makeUserObject` and store users' group membership directly within the user object
      
      * Improve `createUser` function
      
      * Add sandboxed user to the main `USERS` object
      
      * Use newly constructed `sandboxed` user in tests
      
      * Export `signInAsSandboxedUser()`
      
      * Fix function name
      
      Co-authored-by: default avatarPaul Rosenzweig <paulrosenzweig@users.noreply.github.com>
      
      * Fix linter errors
      
      * Simplify `createUser()` function
      
      * Use user attributes directly in tests
      
      * Fix broken tests
      
      * Destructure users in tests
      
      * Use double quotes
      
      * Extract Cypress user data (#15103)
      
      * Extract user data in a separate file
      
      * Convert `createUser` function to a Cypress custom command
      
      * Convert `signIn` function to a Cypress custom command
      
      * Convert `signInAsAdmin` function to a Cypress custom command
      
      * Convert `signInAsNormalUser` function to a Cypress custom command
      
      * Convert `signInAsSandboxedUser` function to a Cypress custom command
      
      * Convert `signOut` function to a Cypress custom command
      
      * Guard against user groups data falling out of sync
      
      Co-authored-by: default avatarPaul Rosenzweig <paulrosenzweig@users.noreply.github.com>
      ef824613
  16. Feb 19, 2021
  17. Jan 15, 2021
    • Nemanja Glumac's avatar
      Merge `Run Cypress OSS tests in isolation` PR from `release-x.37.x` branch (#14372) (#14394) · 31943ecc
      Nemanja Glumac authored
      * Run Cypress OSS tests in isolation (#14372)
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/hide_tables.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/table.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/list.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/data_ref.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/operators.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/settings.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/trendline.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/reference/databases.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/downloads.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/segments.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/metrics.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/permissions/permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/spinner.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/auth/search.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/auth/signin.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard_data_permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard-drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/embed.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/title-drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/loading.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/nested-cards.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/text-box.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/home/activity-page.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/native_subquery.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/chart_drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/nested.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/view.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/dash_drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/home/overworld.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase-db/postgres/custom-column.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/parameters-embedded.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/settings.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/edit.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/pulse/pulse.cy.spec.js` [ci skip]
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/snippets.cy.spec.js` (#14380)
      
      * Fix `downloads.cy.spec.js`
      
      This file was different on `master`, and that's why the version from `release-x.37.x` branch didn't work.
      It had to be adjusted to be able to run in isolation.
      
      * Fix `pulse.cy.spec.js`
      31943ecc
  18. Jan 14, 2021
    • Nemanja Glumac's avatar
      Run Cypress OSS tests in isolation (#14372) · 3c5071c1
      Nemanja Glumac authored
      * Run all tests in isolation for `frontend/test/metabase/scenarios/permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/add.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/hide_tables.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/table.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/list.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/data_ref.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/operators.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/settings.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/trendline.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/reference/databases.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/downloads.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/segments.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/datamodel/metrics.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/permissions/permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/spinner.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/auth/search.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/auth/signin.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard_data_permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/dashboard-drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/embed.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/title-drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/loading.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/nested-cards.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/text-box.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/home/activity-page.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/native_subquery.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/chart_drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/nested.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/view.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/visualizations/drillthroughs/dash_drill.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/home/overworld.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase-db/postgres/custom-column.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/parameters-embedded.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/settings/settings.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/admin/databases/edit.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/alert/alert.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/dashboard/permissions.cy.spec.js`
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/pulse/pulse.cy.spec.js` [ci skip]
      
      * Run all tests in isolation for `frontend/test/metabase/scenarios/question/snippets.cy.spec.js` (#14380)
      3c5071c1
  19. Oct 16, 2020
Loading