Package detail

@qiwi/semrel-testing-suite

qiwi3MIT3.2.1

Semrel/msr testing helpers

readme

@qiwi/semrel-testing-suite

Semrel/msr testing helpers

Install

```shell script yarn add @qiwi/semrel-testing-suite -D


## Usage
```ts
import { resolve } from 'path'
import resolveFrom, { silent as resolveFromSilent } from 'resolve-from'
import semanticRelease from 'semantic-release'
import { 
  cleanPath,
  copyDirectory,
  gitCommitAll,
  gitInit,
  gitInitOrigin,
  gitPush
} from '@qiwi/semrel-testing-suite'
import { createPlugin } from '@qiwi/semrel-plugin-creator'

const fixtures = resolve(__dirname, '../fixtures')

describe('integration', () => {
  const handler: any = jest.fn(({step}) => {
    if (step === 'analyzeCommits') {
      return 'patch'
    }
  })
  const pluginName = 'some-plugin'
  const plugin = createPlugin({handler, name: pluginName})
  const cwd = gitInit()

  copyDirectory(`${fixtures}/yarnWorkspaces/`, cwd)
  gitCommitAll(cwd, 'feat: Initial release')
  gitInitOrigin(cwd)
  gitPush(cwd)

  beforeAll(() => {
    jest.mock(pluginName, () => plugin, {virtual: true})
    jest
      .spyOn(resolveFrom, 'silent')
      .mockImplementation((fromDir: string, moduleId: string) => {
        if (moduleId === pluginName) {
          return pluginName
        }

        return resolveFromSilent(fromDir, moduleId) as string
      })
  })

  afterAll(() => {
    jest.restoreAllMocks()
    jest.resetModules()
  })

  afterEach(jest.clearAllMocks)

  const env = {
    ...process.env,
    TRAVIS_PULL_REQUEST_BRANCH: 'master',
    TRAVIS_BRANCH: 'master'
  }

  it('plugin is compatible with semrel', async () => {
    await semanticRelease(
      {
        branches: ['master'],
        dryRun: true,
        plugins: [pluginName],
      },
      {
        cwd: cleanPath(cwd),
        env,
      },
    )

    expect(handler).toBeCalledTimes(4)
  }, 15000)
})

changelog

@qiwi/semrel-testing-suite 3.1.2 (2022-05-09)

Bug Fixes

Performance Improvements

@qiwi/semrel-testing-suite 3.1.1 (2022-04-09)

Dependencies

  • @qiwi/git-utils: upgraded to 1.1.1
  • @qiwi/semrel-common: upgraded to 3.4.1
  • @qiwi/semrel-infra: upgraded to 3.2.1

@qiwi/semrel-testing-suite 3.1.0 (2022-03-12)

Features

  • exclude git-utils from common assets (7cd7eab)
  • git-utils: allow empty commits, add gitInitOrigin stage to gitInitTestingRepo flow (7d0b972)

Dependencies

  • @qiwi/git-utils: upgraded to 1.1.0
  • @qiwi/semrel-common: upgraded to 3.4.0
  • @qiwi/semrel-infra: upgraded to 3.2.0

@qiwi/semrel-testing-suite 3.0.6 (2022-03-06)

Dependencies

  • @qiwi/semrel-common: upgraded to 3.3.0
  • @qiwi/semrel-infra: upgraded to 3.1.0

@qiwi/semrel-testing-suite 3.0.5 (2022-03-06)

Dependencies

  • @qiwi/semrel-common: upgraded to 3.2.7
  • @qiwi/semrel-infra: upgraded to 3.0.8

@qiwi/semrel-testing-suite 3.0.4 (2022-02-22)

Bug Fixes

Dependencies

  • @qiwi/semrel-common: upgraded to 3.2.2

@qiwi/semrel-testing-suite 3.0.3 (2021-12-29)

Bug Fixes

  • fix globs on windows via @qiwi/multi-semantic-release update (c4d9278)

Dependencies

  • @qiwi/semrel-common: upgraded to 3.2.1

@qiwi/semrel-testing-suite 3.0.2 (2021-12-23)

Dependencies

  • @qiwi/semrel-common: upgraded to 3.2.0

@qiwi/semrel-testing-suite 3.0.1 (2021-12-22)

Dependencies

  • @qiwi/semrel-common: upgraded to 3.1.0

@qiwi/semrel-testing-suite 3.0.0 (2021-11-17)

Bug Fixes

  • up deps to fix internal esm-cjs interop (830ac9d)

Features

BREAKING CHANGES

  • common: dropped legacy require API

Dependencies

  • @qiwi/semrel-common: upgraded to 3.0.0
  • @qiwi/semrel-infra: upgraded to 3.0.0

@qiwi/semrel-testing-suite 2.1.0 (2021-10-28)

Bug Fixes

Features

  • preset: update semrel-gh-pages plugin (b78f0c6)

Dependencies

  • @qiwi/semrel-common: upgraded to 2.1.0
  • @qiwi/semrel-infra: upgraded to 2.1.0

@qiwi/semrel-testing-suite 2.0.0 (2021-09-27)

Performance Improvements

BREAKING CHANGES

  • require semrel >=18, require Node.js >= 14.17

Dependencies

  • @qiwi/semrel-common: upgraded to 2.0.0
  • @qiwi/semrel-infra: upgraded to 2.0.0

@qiwi/semrel-testing-suite 1.4.7 (2021-08-25)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.6
  • @qiwi/semrel-infra: upgraded to 1.1.5

@qiwi/semrel-testing-suite 1.4.6 (2021-07-07)

Bug Fixes

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.5
  • @qiwi/semrel-infra: upgraded to 1.1.4

@qiwi/semrel-testing-suite 1.4.5 (2021-06-18)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.4

@qiwi/semrel-testing-suite 1.4.4 (2021-06-17)

Bug Fixes

  • package: update deps, fix vuls (c94e353)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.3
  • @qiwi/semrel-infra: upgraded to 1.1.3

@qiwi/semrel-testing-suite 1.4.3 (2021-05-17)

Bug Fixes

  • deps: up deps, fix vulns (c718296)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.2
  • @qiwi/semrel-infra: upgraded to 1.1.2

@qiwi/semrel-testing-suite 1.4.2 (2021-04-04)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.1
  • @qiwi/semrel-infra: upgraded to 1.1.1

@qiwi/semrel-testing-suite 1.4.1 (2021-04-02)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.4.0

@qiwi/semrel-testing-suite 1.4.0 (2021-04-02)

Features

  • metabranch: inherit git user env for commits (f37852e)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.3.0

@qiwi/semrel-testing-suite 1.3.0 (2021-04-02)

Features

  • plugin-creator: provide dual export for pkg (c2ba201)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.2.0
  • @qiwi/semrel-infra: upgraded to 1.1.0

@qiwi/semrel-testing-suite 1.2.0 (2021-03-22)

Features

  • testing-suite: add enhanced fakeRepo builder (284d050)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.1.0

@qiwi/semrel-testing-suite 1.1.2 (2021-03-12)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.0.2

@qiwi/semrel-testing-suite 1.1.1 (2021-03-11)

Bug Fixes

Performance Improvements

  • cross-package refactorings (3defc27)

Dependencies

  • @qiwi/semrel-common: upgraded to 1.0.1
  • @qiwi/semrel-infra: upgraded to 1.0.5

@qiwi/semrel-testing-suite 1.1.0 (2021-01-19)

Features

@qiwi/semrel-testing-suite 1.0.0 (2021-01-07)

Features

  • testing-suite: introduce semrel-testing-suite pkg (136700b)