test(dev-infra): extract commit message build function into testing util function (#41476)
Creates a testing utility function to build commit message strings. PR Close #41476
This commit is contained in:
parent
8b9d025b13
commit
7e6989ee4b
|
@ -7,9 +7,9 @@
|
|||
*/
|
||||
|
||||
import {parseCommitMessage} from './parse';
|
||||
import {commitMessageBuilder, CommitMessageParts} from './test-util';
|
||||
|
||||
|
||||
const commitValues = {
|
||||
const commitValues: CommitMessageParts = {
|
||||
prefix: '',
|
||||
type: 'fix',
|
||||
npmScope: '',
|
||||
|
@ -19,12 +19,7 @@ const commitValues = {
|
|||
footer: 'Closes #1',
|
||||
};
|
||||
|
||||
function buildCommitMessage(params: Partial<typeof commitValues> = {}) {
|
||||
const {prefix, npmScope, type, scope, summary, body, footer} = {...commitValues, ...params};
|
||||
const scopeSlug = npmScope ? `${npmScope}/${scope}` : scope;
|
||||
return `${prefix}${type}${scopeSlug ? '(' + scopeSlug + ')' : ''}: ${summary}\n\n${body}\n\n${
|
||||
footer}`;
|
||||
}
|
||||
const buildCommitMessage = commitMessageBuilder(commitValues);
|
||||
|
||||
|
||||
describe('commit message parsing:', () => {
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
/**
|
||||
* @license
|
||||
* Copyright Google LLC All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by an MIT-style license that can be
|
||||
* found in the LICENSE file at https://angular.io/license
|
||||
*/
|
||||
|
||||
/** The parts that make up a commit message for creating a commit message string. */
|
||||
export interface CommitMessageParts {
|
||||
prefix: string;
|
||||
type: string;
|
||||
npmScope: string;
|
||||
scope: string;
|
||||
summary: string;
|
||||
body: string;
|
||||
footer: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate a commit message builder function, using the provided defaults.
|
||||
*/
|
||||
export function commitMessageBuilder(defaults: CommitMessageParts) {
|
||||
return (params: Partial<CommitMessageParts> = {}) => {
|
||||
const {prefix, type, npmScope, scope, summary, body, footer} = {...defaults, ...params};
|
||||
const scopeSlug = npmScope ? `${npmScope}/${scope}` : scope;
|
||||
return `${prefix}${type}${scopeSlug ? '(' + scopeSlug + ')' : ''}: ${summary}\n\n${body}\n\n${
|
||||
footer}`;
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue