mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Add duplicate action to templates table Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com> * Move duplicate icon, and remove provenance when rendering TemplateForm * Create generic generateCopiedName method to avoid duplication and use it also in the CloneRuleEditor * Use 'Copy' for duplicating templates and cloning alert rules * Improve updating the template content with new unique define values when copying Co-authored-by: Konrad Lalik <konradlalik@gmail.com> * Fix typo --------- Co-authored-by: Virginia Cepeda <virginia.cepeda@grafana.com> Co-authored-by: Konrad Lalik <konradlalik@gmail.com>
35 lines
1.2 KiB
TypeScript
35 lines
1.2 KiB
TypeScript
import { generateCopiedName } from './duplicate';
|
|
|
|
describe('generateCopiedName', () => {
|
|
it('should generate copy name', () => {
|
|
const fileName = 'my file';
|
|
const expectedDuplicateName = 'my file (copy)';
|
|
|
|
expect(generateCopiedName(fileName, [])).toEqual(expectedDuplicateName);
|
|
});
|
|
|
|
it('should generate copy name and number from original file', () => {
|
|
const fileName = 'my file';
|
|
const duplicatedName = 'my file (copy)';
|
|
const expectedDuplicateName = 'my file (copy 2)';
|
|
|
|
expect(generateCopiedName(fileName, [fileName, duplicatedName])).toEqual(expectedDuplicateName);
|
|
});
|
|
|
|
it('should generate copy name and number from duplicated file', () => {
|
|
const fileName = 'my file (copy)';
|
|
const duplicatedName = 'my file (copy 2)';
|
|
const expectedDuplicateName = 'my file (copy 3)';
|
|
|
|
expect(generateCopiedName(fileName, [fileName, duplicatedName])).toEqual(expectedDuplicateName);
|
|
});
|
|
|
|
it('should generate copy name and number from duplicated file in gap', () => {
|
|
const fileName = 'my file (copy)';
|
|
const duplicatedName = 'my file (copy 3)';
|
|
const expectedDuplicateName = 'my file (copy 2)';
|
|
|
|
expect(generateCopiedName(fileName, [fileName, duplicatedName])).toEqual(expectedDuplicateName);
|
|
});
|
|
});
|