2025-04-01 10:38:02 +09:00

37 lines
1.6 KiB
TypeScript

import { updateDefinesWithUniqueValue } from './templates';
jest.mock('lodash', () => ({
...jest.requireActual('lodash'),
now: jest.fn().mockImplementation(() => 99),
}));
describe('updateDefinesWithUniqueValue method', () => {
describe('only onw define', () => {
it('Should update the define values with a unique new one', () => {
expect(updateDefinesWithUniqueValue(`{{ define "t" }}\n{{.Alerts.Firing}}\n{{ end }}`)).toEqual(
`{{ define "t_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}`
);
});
});
describe('more than one define in the template', () => {
it('Should update the define values with a unique new one ', () => {
expect(
updateDefinesWithUniqueValue(
`{{ define "t1" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t2" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t3" }}\n{{.Alerts.Firing}}\n{{ end }}\n`
)
).toEqual(
`{{ define "t1_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t2_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t3_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}\n`
);
});
it('Should update the define values with a unique new one, special chars included in the value', () => {
expect(
updateDefinesWithUniqueValue(
`{{ define "t1 /^*;$@" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t2" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t3" }}\n{{.Alerts.Firing}}\n{{ end }}\n`
)
).toEqual(
`{{ define "t1 /^*;$@_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t2_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}\n{{ define "t3_NEW_99" }}\n{{.Alerts.Firing}}\n{{ end }}\n`
);
});
});
});