Skip to content

Commit

Permalink
Revert "fix: metadata type detection for subtype not packageable cont…
Browse files Browse the repository at this point in the history
…ained inside file (scolladon#858)"

This reverts commit a55a528.
  • Loading branch information
a-ursu committed May 24, 2024
1 parent d82865a commit cf8d78f
Show file tree
Hide file tree
Showing 5 changed files with 7,153 additions and 11,976 deletions.
227 changes: 79 additions & 148 deletions __tests__/unit/lib/service/inFileHandler.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,85 +84,49 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
new Set(['Account.test'])
)

expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})

describe('when metadata in file is not packable', () => {
describe('when file have comparable metadata', () => {
beforeEach(() => {
// Arrange
sut = new InFileHandler(
'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml',
globalValueSetTranslationsType,
work,
globalMetadata
)
mockCompare.mockImplementation(() =>
Promise.resolve({
added: new Map([['ValueTranslation', new Set(['Three'])]]),
deleted: new Map(),
})
)
})
it('should only store file name and not the metadata in file', async () => {
// Act
await sut.handleAddition()

// Assert
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual(
new Set(['Numbers-fr'])
)
expect(work.diffs.package.size).toEqual(1)

expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(writeFile).toHaveBeenCalled()
} else {
expect(writeFile).not.toHaveBeenCalled()
}
})
beforeEach(() => {
// Arrange
sut = new InFileHandler(
'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml',
globalValueSetTranslationsType,
work,
globalMetadata
)
mockCompare.mockImplementation(() =>
Promise.resolve({
added: new Map([['ValueTranslation', new Set(['Three'])]]),
deleted: new Map(),
})
)
})
it('should only store file name and not the metadata in file', async () => {
// Act
await sut.handleAddition()

describe('when file does not have comparable metadata but is not empty', () => {
beforeEach(() => {
// Arrange
sut = new InFileHandler(
'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml',
globalValueSetTranslationsType,
work,
globalMetadata
)
mockCompare.mockImplementation(() =>
Promise.resolve({
added: new Map(),
deleted: new Map(),
})
)
})
it('should only store file name and not the metadata in file', async () => {
// Act
await sut.handleAddition()

// Assert
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual(
new Set(['Numbers-fr'])
)
expect(work.diffs.package.size).toEqual(1)
// Assert
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual(
new Set(['Numbers-fr'])
)
expect(work.diffs.package.size).toEqual(1)

if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(writeFile).toHaveBeenCalled()
} else {
expect(writeFile).not.toHaveBeenCalled()
}
})
expect(writeFile).toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})
})
})
Expand Down Expand Up @@ -199,10 +163,11 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
new Set(['Account.deleted'])
)
expect(work.diffs.destructiveChanges.has('Workflow')).toBe(false)
expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})
Expand All @@ -223,10 +188,6 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
deleted: new Map([['WorkflowAlert', new Set(['deleted'])]]),
})
)
mockPrune.mockReturnValue({
xmlContent: '<xmlContent>',
isEmpty: true,
})
})
it('should store the deleted in the destructiveChanges and not copy the file', async () => {
// Act
Expand All @@ -238,8 +199,13 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
new Set(['Account.deleted'])
)
expect(work.diffs.destructiveChanges.has('Workflow')).toBe(false)
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})

describe('when no metadata element are added/deleted and the file does not contains attributes', () => {
Expand Down Expand Up @@ -271,10 +237,11 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
// Assert
expect(work.diffs.package.size).toEqual(0)
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})
Expand All @@ -297,7 +264,7 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
)
mockPrune.mockReturnValue({
xmlContent: '<xmlContent>',
isEmpty: true,
isEmpty: false,
})
})
it('should store the added metadata in the package and the file should be copied', async () => {
Expand All @@ -310,87 +277,52 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
expect(work.diffs.destructiveChanges.get('Workflow')).toEqual(
new Set(['Account.Deleted'])
)
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
})
})
})

describe('when metadata in file is not packable', () => {
describe('when file have comparable metadata', () => {
beforeEach(() => {
// Arrange
sut = new InFileHandler(
'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml',
globalValueSetTranslationsType,
work,
globalMetadata
)
mockCompare.mockImplementation(() =>
Promise.resolve({
added: new Map([['ValueTranslation', new Set(['Three'])]]),
deleted: new Map(),
})
)
mockPrune.mockReturnValue({
xmlContent: '<xmlContent>',
isEmpty: false,
})
})
it('should only store file name and not the metadata in file', async () => {
// Act
await sut.handleModification()

// Assert
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual(
new Set(['Numbers-fr'])
)
expect(work.diffs.package.size).toEqual(1)

expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
expect(writeFile).toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})
})
})

describe('when file does not have comparable metadata but is not empty', () => {
beforeEach(() => {
// Arrange
sut = new InFileHandler(
'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml',
globalValueSetTranslationsType,
work,
globalMetadata
)
mockCompare.mockImplementation(() =>
Promise.resolve({
added: new Map(),
deleted: new Map(),
})
)
})
it('should only store file name and not the metadata in file', async () => {
// Act
await sut.handleModification()
describe('when metadata in file is not packable', () => {
beforeEach(() => {
// Arrange
sut = new InFileHandler(
'force-app/main/default/globalValueSetTranslations/Numbers-fr.globalValueSetTranslation-meta.xml',
globalValueSetTranslationsType,
work,
globalMetadata
)

// Assert
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual(
new Set(['Numbers-fr'])
)
expect(work.diffs.package.size).toEqual(1)
mockCompare.mockImplementation(() =>
Promise.resolve({
added: new Map([['ValueTranslation', new Set(['Three'])]]),
deleted: new Map(),
})
)
})
it('should only store file name and not the metadata in file', async () => {
// Act
await sut.handleModification()

// Assert
expect(work.diffs.destructiveChanges.size).toEqual(0)
expect(work.diffs.package.get('GlobalValueSetTranslation')).toEqual(
new Set(['Numbers-fr'])
)
expect(work.diffs.package.size).toEqual(1)

if (generateDelta) {
expect(mockPrune).toHaveBeenCalled()
if (generateDelta) {
expect(writeFile).toHaveBeenCalled()
} else {
expect(writeFile).not.toHaveBeenCalled()
}
})
expect(writeFile).toHaveBeenCalled()
} else {
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
}
})
})
})
Expand All @@ -411,7 +343,6 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
deleted: new Map([['WorkflowAlert', new Set(['test'])]]),
})
)
mockPrune.mockReturnValue({ xmlContent: '<xmlContent>', isEmpty: true })
})
it('should store the deleted metadata in the destructiveChanges', async () => {
// Act
Expand All @@ -424,7 +355,7 @@ describe.each([true, false])(`inFileHandler -d: %s`, generateDelta => {
new Set(['Account.test'])
)
expect(mockCompare).toHaveBeenCalled()
expect(mockPrune).toHaveBeenCalled()
expect(mockPrune).not.toHaveBeenCalled()
expect(writeFile).not.toHaveBeenCalled()
})
describe('when metadata in file is prune Only', () => {
Expand Down
20 changes: 10 additions & 10 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit cf8d78f

Please sign in to comment.