Patrick 86f9455d00 test: allow integration-tests to leverage workspaces optimizations (#2727)
### What
Leverage yarn workspaces and Turborepo for integration-tests in order to accelerate development and reduce DevX complexity.

### Why
The current solution for running integration tests requires using `medusa-dev-cli` in order to publish packages to a local npm repository. The package where the command is executed will have its package.json altered for any known medusa dependency in order to install from the local npm. The process is taxing on the host machine resources and prevents rapid iterations when working with integration tests.

For more information, see documentation: f0cc1b324c/docs/content/usage/local-development.md (run-api-integration-tests)

### How
By declaring `integeration-tests/**/*` as a workspace, Turborepo can now be leveraged to build and run integration test as if there were packages. The build process will take care of interdependency between package in order to ensure local dependency are met.

In addition, within each integration-tests "packages", we can declare local dependencies as "*" which will translate to using the one that is part of the current build, regardless of the dependency's version number. No more fiddling with version numbers.

Github actions pertaining to integration-tests have been streamlined to use the new behavior.

The integration-tests packages have been marked as `private:true` in order to avoid publishing them to the public npm registry.

### Testing
```
cd root-of-medusajs-medusa-repo/
yarn install
yarn build
yarn test:integration:api
yarn test:integration:plugins
```

After a code change, `yarn build` must be run before re-running an integration test, which is the same procedure as for unit tests.

Resolves: CORE-845
2022-12-08 14:57:16 +00:00
2021-10-12 22:10:36 +02:00
2022-07-11 08:47:48 +00:00
2022-08-29 13:26:58 +00:00
2021-12-07 11:02:35 +01:00
2022-07-12 20:14:34 +02:00
2022-02-15 13:44:23 +01:00
2022-11-10 17:52:03 +02:00
2022-01-06 13:05:04 +01:00

Medusa

Medusa

Documentation | Medusa Admin Demo | Website

An open source composable commerce engine built for developers.

Medusa is released under the MIT license. Current CircleCI build status. PRs welcome! Product Hunt Discord Chat Follow @medusajs

Getting Started

Follow our quickstart guide to learn how to set up a Medusa server.

Requirements

You can check out this documentation for details about setting up your environment.

What is Medusa

Medusa is an open source composable commerce engine built with Node.js. Medusa enables developers to build scalable and sophisticated commerce setups with low effort and great developer experience.

You can learn more about Medusas architecture in our documentation.

Features

You can learn about all of the ecommerce features that Medusa provides in our documentation.

Roadmap

Write-ups for all features will be made available in Github discussions before starting the implementation process.

2022

  • Admin revamp
  • Tax API
  • Tax Calculation Strategy
  • Cart Calculation Strategy
  • Customer Groups API
  • Promotions API
  • Price Lists API
  • Price Selection Strategy
  • Import / Export API
  • Sales Channel API
  • Extended Order API (managing placed orders)
  • PaymentCollection API (collecting payments separate from carts and draft orders)
  • Multi-warehouse API
  • Extended Product API (custom fields, publishing control, and more)

Plugins

Check out our available plugins that you can install and use instantly on your Medusa server.

Contributions

Please check our contribution guide for details about how to contribute to both our codebase and our documentation.

Upgrade Guides

Follow our upgrade guides on the documentation to keep your Medusa project up-to-date.

Community & Support

Use these channels to be part of the community, ask for help while using Medusa, or just learn more about Medusa:

  • Discord: This is the main channel to join the community. You can ask for help, showcase your work with Medusa, and stay up to date with everything Medusa.
  • GitHub Issues: for sending in any issues you face or bugs you find while using Medusa.
  • GitHub Discussions: for joining discussions and submitting your ideas.
  • Medusa Blog: find diverse tutorials and company news.
  • Twitter
  • LinkedIn

License

Licensed under the MIT License

Description
No description provided
Readme 539 MiB
Languages
TypeScript 84.9%
JavaScript 14.8%
Shell 0.2%