0.0.11 • Published 3 years ago

@openrewrite/jest-environment v0.0.11

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
3 years ago

🚧 Under Construction 🚧

  • Jest Environment for recipe authoring

Install

Setup Checklist

  1. In your jest configuration add:
"preset": "@openrewrite/jest-environment/lib/preset"
  1. Make sure your package.json has a main entry pointing to the index file produced with the openrewrite webpack config

  2. Make sure webpack has been built, you can add your webpack command to your npm script for testing:

"test": "webpack --config webpack.config.js && jest"

How To Use

In a test you will have access to global object OpenRewrite:

  • OpenRewrite.runBasicRecipeTests - runs general validation on your recipe to make sure it is compatible with the polyglot adhoc request
  • OpenRewrite.runRecipe - sends a target text, the language of the target text, the contents of your recipe, and any recipe options, to app.moderne.io for analysis

Example:

// recipe file
export class MakePrivateRecipe extends Recipe {...}
// test file
import { MakePrivateRecipe } from './make-private.recipe.ts';

describe('Make Private Recipe', () => {
  // Will run a suite of tests in its own describe block
  OpenRewrite.runBasicRecipeTests(ChangeLicenseRecipe);

  it(`should change private to true`, async () => {
    // arrange
    const before = `
      {
        "name": "Name",
        "private": "false"
      }
      `;
    // act
    const after = await OpenRewrite.runRecipe(before, 'json', MakePrivateRecipe, { fileMatcher: '**/package.json' });
    // assert
    const expectedAfter = `
      {
        "name": "Name",
        "private": "true"
      }
      `;
    expect(after).toBe(expectedAfter);
  });
});

EnvironmentOptions

By default the OpenRewrite Jest Environment's runRecipe command will execute your recipe via https://api.moderne.io/. If you desire to send the requests to a different endpoint you can add the following jest configuration:

"testEnvironmentOptions": {
  "moderneURL": "http://localhost:4000"
}
0.0.10

3 years ago

0.0.11

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.5

3 years ago

0.0.6

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago