Skip to content

Commit 3db40f3

Browse files
committed
Add site metadata fields to diff handlers and tests
- ✨ Introduced new metadata fields: dataModelVersion, websiteUrl, siteVisibility, creator, and createdOn in ExportMetadataDiffHandler, GenerateHtmlReportHandler, and ResyncMetadataDiffHandler. - 🧪 Updated tests in MetadataDiffSiteTreeItem to validate new fields and their handling of optional values. -Priyanshu
1 parent 3ecd7f5 commit 3db40f3

File tree

4 files changed

+83
-4
lines changed

4 files changed

+83
-4
lines changed

src/client/test/Integration/power-pages/actions-hub/handlers/metadata-diff/ExportMetadataDiffHandler.test.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import sinon from "sinon";
99
import { exportMetadataDiff } from "../../../../../../power-pages/actions-hub/handlers/metadata-diff/ExportMetadataDiffHandler";
1010
import { MetadataDiffSiteTreeItem } from "../../../../../../power-pages/actions-hub/tree-items/metadata-diff/MetadataDiffSiteTreeItem";
1111
import { FileComparisonStatus, IFileComparisonResult, ISiteComparisonResults } from "../../../../../../power-pages/actions-hub/models/IFileComparisonResult";
12+
import { SiteVisibility } from "../../../../../../power-pages/actions-hub/models/SiteVisibility";
1213
import * as TelemetryHelper from "../../../../../../power-pages/actions-hub/TelemetryHelper";
1314

1415
describe("ExportMetadataDiffHandler", () => {
@@ -43,7 +44,12 @@ describe("ExportMetadataDiffHandler", () => {
4344
localSiteName,
4445
environmentName,
4546
websiteId,
46-
environmentId
47+
environmentId,
48+
dataModelVersion: 2,
49+
websiteUrl: "https://test-site.powerappsportals.com",
50+
siteVisibility: SiteVisibility.Public,
51+
creator: "test-creator@contoso.com",
52+
createdOn: "2024-01-15T10:30:00Z"
4753
};
4854
}
4955

src/client/test/Integration/power-pages/actions-hub/handlers/metadata-diff/GenerateHtmlReportHandler.test.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import sinon from "sinon";
99
import { generateHtmlReport } from "../../../../../../power-pages/actions-hub/handlers/metadata-diff/GenerateHtmlReportHandler";
1010
import { MetadataDiffSiteTreeItem } from "../../../../../../power-pages/actions-hub/tree-items/metadata-diff/MetadataDiffSiteTreeItem";
1111
import { FileComparisonStatus, IFileComparisonResult, ISiteComparisonResults } from "../../../../../../power-pages/actions-hub/models/IFileComparisonResult";
12+
import { SiteVisibility } from "../../../../../../power-pages/actions-hub/models/SiteVisibility";
1213
import * as TelemetryHelper from "../../../../../../power-pages/actions-hub/TelemetryHelper";
1314

1415
describe("GenerateHtmlReportHandler", () => {
@@ -38,7 +39,12 @@ describe("GenerateHtmlReportHandler", () => {
3839
localSiteName,
3940
environmentName,
4041
websiteId: "test-website-id",
41-
environmentId: "test-environment-id"
42+
environmentId: "test-environment-id",
43+
dataModelVersion: 2,
44+
websiteUrl: "https://test-site.powerappsportals.com",
45+
siteVisibility: SiteVisibility.Public,
46+
creator: "test-creator@contoso.com",
47+
createdOn: "2024-01-15T10:30:00Z"
4248
};
4349
}
4450

src/client/test/Integration/power-pages/actions-hub/handlers/metadata-diff/ResyncMetadataDiffHandler.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { Constants } from "../../../../../../power-pages/actions-hub/Constants";
1111
import { PacTerminal } from "../../../../../../lib/PacTerminal";
1212
import { MetadataDiffSiteTreeItem } from "../../../../../../power-pages/actions-hub/tree-items/metadata-diff/MetadataDiffSiteTreeItem";
1313
import { ISiteComparisonResults, FileComparisonStatus } from "../../../../../../power-pages/actions-hub/models/IFileComparisonResult";
14+
import { SiteVisibility } from "../../../../../../power-pages/actions-hub/models/SiteVisibility";
1415
import MetadataDiffContext from "../../../../../../power-pages/actions-hub/MetadataDiffContext";
1516
import * as TelemetryHelper from "../../../../../../power-pages/actions-hub/TelemetryHelper";
1617
import * as WorkspaceInfoFinderUtil from "../../../../../../../common/utilities/WorkspaceInfoFinderUtil";
@@ -67,6 +68,11 @@ describe("ResyncMetadataDiffHandler", () => {
6768
}
6869
],
6970
isImported: false,
71+
dataModelVersion: 2,
72+
websiteUrl: "https://test-site.powerappsportals.com",
73+
siteVisibility: SiteVisibility.Public,
74+
creator: "test-creator@contoso.com",
75+
createdOn: "2024-01-15T10:30:00Z",
7076
...overrides
7177
};
7278
}

src/client/test/Integration/power-pages/actions-hub/tree-items/metadata-diff/MetadataDiffSiteTreeItem.test.ts

Lines changed: 63 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import { ActionsHubTreeItem } from "../../../../../../power-pages/actions-hub/tr
1212
import { IFileComparisonResult, FileComparisonStatus, ISiteComparisonResults } from "../../../../../../power-pages/actions-hub/models/IFileComparisonResult";
1313
import { Constants } from "../../../../../../power-pages/actions-hub/Constants";
1414
import MetadataDiffContext, { MetadataDiffViewMode, MetadataDiffSortMode } from "../../../../../../power-pages/actions-hub/MetadataDiffContext";
15+
import { SiteVisibility } from "../../../../../../power-pages/actions-hub/models/SiteVisibility";
1516

1617
/**
1718
* Helper function to create ISiteComparisonResults for testing
@@ -24,7 +25,12 @@ function createSiteResults(
2425
websiteId = "test-website-id",
2526
environmentId = "test-environment-id",
2627
isImported = false,
27-
exportedAt?: string
28+
exportedAt?: string,
29+
dataModelVersion: 1 | 2 = 2,
30+
websiteUrl = "https://test-site.powerappsportals.com",
31+
siteVisibility = SiteVisibility.Public,
32+
creator = "test-creator@contoso.com",
33+
createdOn = "2024-01-15T10:30:00Z"
2834
): ISiteComparisonResults {
2935
return {
3036
comparisonResults,
@@ -34,7 +40,12 @@ function createSiteResults(
3440
websiteId,
3541
environmentId,
3642
isImported,
37-
exportedAt
43+
exportedAt,
44+
dataModelVersion,
45+
websiteUrl,
46+
siteVisibility,
47+
creator,
48+
createdOn
3849
};
3950
}
4051

@@ -179,6 +190,56 @@ describe("MetadataDiffSiteTreeItem", () => {
179190
});
180191
});
181192

193+
describe("site details", () => {
194+
it("should return the dataModelVersion", () => {
195+
const treeItem = new MetadataDiffSiteTreeItem(createSiteResults([], "Test Site", "Local Test Site", "Test Environment", "web-id", "env-id", false, undefined, 2));
196+
197+
expect(treeItem.dataModelVersion).to.equal(2);
198+
});
199+
200+
it("should return the websiteUrl", () => {
201+
const treeItem = new MetadataDiffSiteTreeItem(createSiteResults([], "Test Site", "Local Test Site", "Test Environment", "web-id", "env-id", false, undefined, 2, "https://my-site.powerappsportals.com"));
202+
203+
expect(treeItem.websiteUrl).to.equal("https://my-site.powerappsportals.com");
204+
});
205+
206+
it("should return the siteVisibility", () => {
207+
const treeItem = new MetadataDiffSiteTreeItem(createSiteResults([], "Test Site", "Local Test Site", "Test Environment", "web-id", "env-id", false, undefined, 2, "https://my-site.powerappsportals.com", SiteVisibility.Private));
208+
209+
expect(treeItem.siteVisibility).to.equal(SiteVisibility.Private);
210+
});
211+
212+
it("should return the creator", () => {
213+
const treeItem = new MetadataDiffSiteTreeItem(createSiteResults([], "Test Site", "Local Test Site", "Test Environment", "web-id", "env-id", false, undefined, 2, "https://my-site.powerappsportals.com", SiteVisibility.Public, "admin@contoso.com"));
214+
215+
expect(treeItem.creator).to.equal("admin@contoso.com");
216+
});
217+
218+
it("should return the createdOn", () => {
219+
const treeItem = new MetadataDiffSiteTreeItem(createSiteResults([], "Test Site", "Local Test Site", "Test Environment", "web-id", "env-id", false, undefined, 2, "https://my-site.powerappsportals.com", SiteVisibility.Public, "admin@contoso.com", "2024-06-01T12:00:00Z"));
220+
221+
expect(treeItem.createdOn).to.equal("2024-06-01T12:00:00Z");
222+
});
223+
224+
it("should handle undefined optional fields", () => {
225+
const results: ISiteComparisonResults = {
226+
comparisonResults: [],
227+
siteName: "Test Site",
228+
localSiteName: "Local Test Site",
229+
environmentName: "Test Environment",
230+
websiteId: "web-id",
231+
environmentId: "env-id"
232+
};
233+
const treeItem = new MetadataDiffSiteTreeItem(results);
234+
235+
expect(treeItem.dataModelVersion).to.be.undefined;
236+
expect(treeItem.websiteUrl).to.be.undefined;
237+
expect(treeItem.siteVisibility).to.be.undefined;
238+
expect(treeItem.creator).to.be.undefined;
239+
expect(treeItem.createdOn).to.be.undefined;
240+
});
241+
});
242+
182243
describe("getChildren - list view mode", () => {
183244
beforeEach(() => {
184245
MetadataDiffContext.setViewMode(MetadataDiffViewMode.List);

0 commit comments

Comments
 (0)