Skip to content

Commit 478b648

Browse files
committed
fix: resolve fullname correctly for EmailTemplateFolder
1 parent d459d45 commit 478b648

File tree

2 files changed

+46
-3
lines changed

2 files changed

+46
-3
lines changed

src/shared/remoteSourceTrackingService.ts

+3-1
Original file line numberDiff line numberDiff line change
@@ -509,7 +509,9 @@ export const remoteChangeElementToChangeResult = (rce: RemoteChangeElement): Cha
509509
...rce,
510510
...(mappingsForSourceMemberTypesToMetadataType.has(rce.type)
511511
? {
512-
name: rce.name.split('/')[0],
512+
// SNOWFLAKE: EmailTemplateFolder is treated as an alias for EmailFolder so it has a mapping.
513+
// The name must be handled differently than with bundle types.
514+
name: rce.type === 'EmailTemplateFolder' ? rce.name : rce.name.split('/')[0],
513515
type: mappingsForSourceMemberTypesToMetadataType.get(rce.type),
514516
}
515517
: {}),

test/unit/remoteSourceTracking.test.ts

+43-2
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,13 @@ import { MockTestOrgData, instantiateContext, stubContext, restoreContext } from
1414
import { EnvVars, envVars, Logger, Messages, Org } from '@salesforce/core';
1515
import { expect } from 'chai';
1616
import { ComponentStatus } from '@salesforce/source-deploy-retrieve';
17-
import { RemoteSourceTrackingService, calculateTimeout, Contents } from '../../src/shared/remoteSourceTrackingService';
18-
import { RemoteSyncInput, SourceMember, MemberRevision } from '../../src/shared/types';
17+
import {
18+
RemoteSourceTrackingService,
19+
calculateTimeout,
20+
Contents,
21+
remoteChangeElementToChangeResult,
22+
} from '../../src/shared/remoteSourceTrackingService';
23+
import { RemoteSyncInput, SourceMember, MemberRevision, RemoteChangeElement } from '../../src/shared/types';
1924
import * as mocks from '../../src/shared/remoteSourceTrackingService';
2025

2126
Messages.importMessagesDirectory(__dirname);
@@ -93,6 +98,42 @@ describe('remoteSourceTrackingService', () => {
9398
org,
9499
projectPath: await $$.localPathRetriever($$.id),
95100
});
101+
102+
describe('remoteChangeElementToChangeResult()', () => {
103+
it('should return correct ChangeResult for EmailTemplateFolder', () => {
104+
const rce: RemoteChangeElement = {
105+
name: 'level1/level2/level3',
106+
type: 'EmailTemplateFolder',
107+
deleted: false,
108+
modified: true,
109+
};
110+
const changeResult = remoteChangeElementToChangeResult(rce);
111+
expect(changeResult).to.deep.equal({
112+
origin: 'remote',
113+
name: 'level1/level2/level3',
114+
type: 'EmailFolder',
115+
deleted: false,
116+
modified: true,
117+
});
118+
});
119+
120+
it('should return correct ChangeResult for LightningComponentResource', () => {
121+
const rce: RemoteChangeElement = {
122+
name: 'fooLWC/bar',
123+
type: 'LightningComponentResource',
124+
deleted: false,
125+
modified: true,
126+
};
127+
const changeResult = remoteChangeElementToChangeResult(rce);
128+
expect(changeResult).to.deep.equal({
129+
origin: 'remote',
130+
name: 'fooLWC',
131+
type: 'LightningComponentBundle',
132+
deleted: false,
133+
modified: true,
134+
});
135+
});
136+
});
96137
});
97138

98139
describe('getServerMaxRevision', () => {

0 commit comments

Comments
 (0)