Skip to content

Commit ae0c449

Browse files
author
Al Manning
committed
fix bug with update space changes in windows
1 parent c9e894c commit ae0c449

File tree

2 files changed

+107
-7
lines changed

2 files changed

+107
-7
lines changed

src/publish/confluence/confluence-helper.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,9 @@ export const findPagesToDelete = (
291291
return existingSite.reduce((accumulator: SitePage[], page: SitePage) => {
292292
if (
293293
!fileMetadataList.find(
294-
(file) => file.fileName === page?.metadata?.fileName ?? ""
294+
(file) =>
295+
pathWithForwardSlashes(file.fileName) === page?.metadata?.fileName ??
296+
""
295297
) &&
296298
!isActiveParent(page.id)
297299
) {

tests/unit/confluence.test.ts

Lines changed: 104 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ import {
5959
Space,
6060
} from "../../src/publish/confluence/api/types.ts";
6161

62-
const RUN_ALL_TESTS = false;
62+
const RUN_ALL_TESTS = true;
6363
const FOCUS_TEST = false;
6464

6565
const xtest = (
@@ -2239,7 +2239,21 @@ const runSpaceUpdatesWithNesting = () => {
22392239
},
22402240
};
22412241

2242-
unitTest(suiteLabel("one_nested_file_update"), async () => {
2242+
const fakeMultiNestedFileWin: SiteFileMetadata = {
2243+
fileName:
2244+
"fake-great-grand-parent\\fake-grand-parent\\fake-parent\\fake-file-name.xml",
2245+
title: "fake-title",
2246+
originalTitle: "fake-title-original",
2247+
matchingPages: [],
2248+
contentBody: {
2249+
storage: {
2250+
value: "fake-value",
2251+
representation: "storage",
2252+
},
2253+
},
2254+
};
2255+
2256+
test(suiteLabel("one_nested_file_update"), async () => {
22432257
const fileMetadataList: SiteFileMetadata[] = [fakeNestedFile];
22442258

22452259
const existingSite = [
@@ -2292,7 +2306,7 @@ const runSpaceUpdatesWithNesting = () => {
22922306
assertEquals(expected, actual);
22932307
});
22942308

2295-
unitTest(suiteLabel("one_multi-nested_file_update"), async () => {
2309+
test(suiteLabel("one_multi-nested_file_update"), async () => {
22962310
const fileMetadataList: SiteFileMetadata[] = [fakeMultiNestedFile];
22972311

22982312
const existingSite = [
@@ -2376,7 +2390,91 @@ const runSpaceUpdatesWithNesting = () => {
23762390
assertEquals(expected, actual);
23772391
});
23782392

2379-
unitTest(suiteLabel("two_nested_files_same_parent"), async () => {
2393+
otest(suiteLabel("one_multi-nested_file_update_win"), async () => {
2394+
const fileMetadataList: SiteFileMetadata[] = [fakeMultiNestedFileWin];
2395+
2396+
const existingSite = [
2397+
{
2398+
id: "123456",
2399+
title: "fake-title",
2400+
metadata: {
2401+
fileName:
2402+
"fake-great-grand-parent/fake-grand-parent/fake-parent/fake-file-name.xml",
2403+
},
2404+
ancestors: [
2405+
{ id: "fake-parent-id" },
2406+
{ id: "fake-grand-parent-id" },
2407+
{ id: "fake-great-grand-parent-id" },
2408+
],
2409+
},
2410+
{
2411+
title: "Fake Parent",
2412+
id: "fake-parent-id",
2413+
metadata: {
2414+
editor: "v2",
2415+
fileName: "fake-great-grand-parent/fake-grand-parent/fake-parent",
2416+
},
2417+
ancestors: [
2418+
{ id: "fake-grand-parent-id" },
2419+
{ id: "fake-great-grand-parent-id" },
2420+
],
2421+
},
2422+
{
2423+
title: "Fake Grand Parent",
2424+
id: "fake-grand-parent-id",
2425+
metadata: {
2426+
editor: "v2",
2427+
fileName: "fake-great-grand-parent/fake-grand-parent",
2428+
},
2429+
ancestors: [{ id: "fake-great-grand-parent-id" }],
2430+
},
2431+
{
2432+
title: "Fake Great Grand Parent",
2433+
id: "fake-great-grand-parent-id",
2434+
metadata: { editor: "v2", fileName: "fake-great-grand-parent" },
2435+
ancestors: [{ id: "fake-great-grand-parent-id" }],
2436+
},
2437+
];
2438+
2439+
const expected: ConfluenceSpaceChange[] = [
2440+
{
2441+
contentChangeType: ContentChangeType.update,
2442+
ancestors: [
2443+
{
2444+
id: "fake-parent-id",
2445+
},
2446+
],
2447+
body: {
2448+
storage: {
2449+
representation: "storage",
2450+
value: "fake-value",
2451+
},
2452+
},
2453+
fileName:
2454+
"fake-great-grand-parent/fake-grand-parent/fake-parent/fake-file-name.xml",
2455+
status: "current",
2456+
title: "fake-title",
2457+
type: "page",
2458+
id: "123456",
2459+
version: null,
2460+
},
2461+
];
2462+
2463+
const pagesToDelete = findPagesToDelete(fileMetadataList, existingSite);
2464+
2465+
assertEquals(pagesToDelete, []);
2466+
2467+
const actual: ConfluenceSpaceChange[] = buildSpaceChanges(
2468+
fileMetadataList,
2469+
FAKE_PARENT,
2470+
fakeSpace,
2471+
existingSite
2472+
);
2473+
2474+
assertEquals(expected, actual);
2475+
});
2476+
2477+
test(suiteLabel("two_nested_files_same_parent"), async () => {
23802478
const fileMetadataList: SiteFileMetadata[] = [
23812479
fakeNestedFile,
23822480
fakeNestedFile2,
@@ -2453,7 +2551,7 @@ const runSpaceUpdatesWithNesting = () => {
24532551
assertEquals(expected, actual);
24542552
});
24552553

2456-
unitTest(suiteLabel("three_nested_files_same_different_parent"), async () => {
2554+
test(suiteLabel("three_nested_files_same_different_parent"), async () => {
24572555
const fileMetadataList: SiteFileMetadata[] = [
24582556
fakeNestedFile,
24592557
fakeNestedFile2,
@@ -3660,5 +3758,5 @@ if (RUN_ALL_TESTS) {
36603758
runUpdateImagePathsForContentBody();
36613759
runCapFirstLetter();
36623760
} else {
3663-
runFindAttachments();
3761+
runSpaceUpdatesWithNesting();
36643762
}

0 commit comments

Comments
 (0)