3.2.1 • Published 2 years ago
@qiwi/semrel-testing-suite v3.2.1
@qiwi/semrel-testing-suite
Semrel/msr testing helpers
Install
yarn add @qiwi/semrel-testing-suite -D
Usage
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)
})
3.1.3
2 years ago
3.2.1
2 years ago
3.2.0
2 years ago
3.1.2
2 years ago
3.1.1
2 years ago
3.1.0
2 years ago
3.0.6
2 years ago
3.0.5
2 years ago
3.0.4
2 years ago
3.0.3
2 years ago
3.0.2
2 years ago
3.0.1
2 years ago
3.0.0
2 years ago
2.1.0
3 years ago
2.0.0
3 years ago
1.4.7
3 years ago
1.4.6
3 years ago
1.4.5
3 years ago
1.4.4
3 years ago
1.4.3
3 years ago
1.4.2
3 years ago
1.4.1
3 years ago
1.4.0
3 years ago
1.3.0
3 years ago
1.2.0
3 years ago
1.1.2
3 years ago
1.1.1
3 years ago
1.1.0
3 years ago
1.0.0
3 years ago