@microsoft/connected-workbooks 3.3.2-beta → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/dist/utils/constants.js +87 -49
  2. package/dist/utils/documentUtils.js +1 -1
  3. package/dist/utils/gridUtils.js +8 -8
  4. package/dist/utils/mashupDocumentParser.js +1 -1
  5. package/dist/utils/pqUtils.js +3 -3
  6. package/dist/utils/tableUtils.js +11 -4
  7. package/dist/utils/xmlInnerPartsUtils.js +245 -13
  8. package/dist/utils/xmlPartsUtils.js +74 -4
  9. package/dist/workbookManager.js +3 -3
  10. package/package.json +7 -3
  11. package/dist/src/generators.js +0 -15
  12. package/dist/src/types.js +0 -28
  13. package/dist/src/utils/arrayUtils.js +0 -51
  14. package/dist/src/utils/constants.js +0 -175
  15. package/dist/src/utils/documentUtils.js +0 -167
  16. package/dist/src/utils/gridUtils.js +0 -103
  17. package/dist/src/utils/htmlUtils.js +0 -19
  18. package/dist/src/utils/index.js +0 -24
  19. package/dist/src/utils/mashupDocumentParser.js +0 -188
  20. package/dist/src/utils/pqUtils.js +0 -194
  21. package/dist/src/utils/tableUtils.js +0 -233
  22. package/dist/src/utils/xmlInnerPartsUtils.js +0 -431
  23. package/dist/src/utils/xmlPartsUtils.js +0 -178
  24. package/dist/src/workbookTemplate.js +0 -9
  25. package/dist/tests/arrayUtils.test.js +0 -66
  26. package/dist/tests/documentUtils.test.js +0 -70
  27. package/dist/tests/gridUtils.test.js +0 -214
  28. package/dist/tests/htmlUtils.test.js +0 -111
  29. package/dist/tests/mashupDocumentParser.test.js +0 -113
  30. package/dist/tests/mocks/PqMock.js +0 -7
  31. package/dist/tests/mocks/index.js +0 -24
  32. package/dist/tests/mocks/section1mSimpleQueryMock.js +0 -8
  33. package/dist/tests/mocks/xmlMocks.js +0 -14
  34. package/dist/tests/tableUtils.test.js +0 -70
  35. package/dist/tests/workbookQueryTemplate.test.js +0 -218
  36. package/dist/tests/workbookTableTemplate.test.js +0 -126
  37. package/dist/tests/xmlInnerPartsUtils.test.js +0 -273
@@ -1,111 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- var utils_1 = require("../src/utils");
6
- var jsdom_1 = require("jsdom");
7
- var globals_1 = require("@jest/globals");
8
- // Create a JSDOM instance
9
- var window = new jsdom_1.JSDOM("<!DOCTYPE html><html><body></body></html>").window;
10
- var document = window.document;
11
- // Helper function to create table rows and cells
12
- var createRowWithCells = function (cellValues, celltypes) {
13
- if (celltypes === void 0) { celltypes = "td"; }
14
- var row = document.createElement("tr");
15
- cellValues.forEach(function (value) {
16
- var cell = document.createElement(celltypes);
17
- cell.textContent = value;
18
- row.appendChild(cell);
19
- });
20
- return row;
21
- };
22
- (0, globals_1.describe)("extractTableValues", function () {
23
- (0, globals_1.test)("returns an empty array for an empty table", function () {
24
- // Create an empty table element
25
- var table = document.createElement("table");
26
- // Call the method and expect an empty array as the result
27
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual([]);
28
- });
29
- (0, globals_1.test)("returns an empty row for an empty tr", function () {
30
- var table = document.createElement("table");
31
- var tbody = document.createElement("tbody");
32
- var row = createRowWithCells([]);
33
- tbody.appendChild(row);
34
- table.appendChild(tbody);
35
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual([[]]);
36
- });
37
- (0, globals_1.test)("extracts values correctly from a table with multiple rows and cells", function () {
38
- var table = document.createElement("table");
39
- var tbody = document.createElement("tbody");
40
- var row1 = createRowWithCells(["A", "B"]);
41
- var row2 = createRowWithCells(["C", "D"]);
42
- tbody.appendChild(row1);
43
- tbody.appendChild(row2);
44
- table.appendChild(tbody);
45
- var expectedResult = [
46
- ["A", "B"],
47
- ["C", "D"],
48
- ];
49
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual(expectedResult);
50
- });
51
- (0, globals_1.test)("handles empty cells by using an empty string", function () {
52
- var table = document.createElement("table");
53
- var tbody = document.createElement("tbody");
54
- var row1 = createRowWithCells(["A", ""]);
55
- var row2 = createRowWithCells(["", "D"]);
56
- tbody.appendChild(row1);
57
- tbody.appendChild(row2);
58
- table.appendChild(tbody);
59
- var expectedResult = [
60
- ["A", ""],
61
- ["", "D"],
62
- ];
63
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual(expectedResult);
64
- });
65
- (0, globals_1.test)("handle table header (th) cells", function () {
66
- var table = document.createElement("table");
67
- var tbody = document.createElement("tbody");
68
- var headerRow = createRowWithCells(["Header 1", "Header 2"], "th");
69
- var dataRow = createRowWithCells(["A", "B"]);
70
- tbody.appendChild(headerRow);
71
- tbody.appendChild(dataRow);
72
- table.appendChild(tbody);
73
- var expectedResult = [
74
- ["Header 1", "Header 2"],
75
- ["A", "B"],
76
- ];
77
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual(expectedResult);
78
- });
79
- (0, globals_1.test)("handles tables with multiple tbody elements", function () {
80
- var table = document.createElement("table");
81
- var tbody1 = document.createElement("tbody");
82
- var row1 = createRowWithCells(["A", "B"]);
83
- tbody1.appendChild(row1);
84
- table.appendChild(tbody1);
85
- var tbody2 = document.createElement("tbody");
86
- var row2 = createRowWithCells(["C", "D"]);
87
- tbody2.appendChild(row2);
88
- table.appendChild(tbody2);
89
- var expectedResult = [
90
- ["A", "B"],
91
- ["C", "D"],
92
- ];
93
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual(expectedResult);
94
- });
95
- (0, globals_1.test)("handles tables that are not MxN", function () {
96
- var table = document.createElement("table");
97
- var tbody1 = document.createElement("tbody");
98
- var row1 = createRowWithCells(["A", "B"]);
99
- tbody1.appendChild(row1);
100
- table.appendChild(tbody1);
101
- var tbody2 = document.createElement("tbody");
102
- var row2 = createRowWithCells(["C", "D", "E"]);
103
- tbody2.appendChild(row2);
104
- table.appendChild(tbody2);
105
- var expectedResult = [
106
- ["A", "B"],
107
- ["C", "D", "E"],
108
- ];
109
- (0, globals_1.expect)(utils_1.htmlUtils.extractTableValues(table)).toEqual(expectedResult);
110
- });
111
- });
@@ -1,113 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- var __generator = (this && this.__generator) || function (thisArg, body) {
14
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
- function verb(n) { return function (v) { return step([n, v]); }; }
17
- function step(op) {
18
- if (f) throw new TypeError("Generator is already executing.");
19
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
- if (y = 0, t) op = [op[0] & 2, t.value];
22
- switch (op[0]) {
23
- case 0: case 1: t = op; break;
24
- case 4: _.label++; return { value: op[1], done: false };
25
- case 5: _.label++; y = op[1]; op = [0]; continue;
26
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
- default:
28
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
- if (t[2]) _.ops.pop();
33
- _.trys.pop(); continue;
34
- }
35
- op = body.call(thisArg, _);
36
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
- }
39
- };
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- var util_1 = require("util");
45
- var mashupDocumentParser_1 = require("../src/utils/mashupDocumentParser");
46
- var utils_1 = require("../src/utils");
47
- var mocks_1 = require("./mocks");
48
- var base64_js_1 = __importDefault(require("base64-js"));
49
- var jszip_1 = __importDefault(require("jszip"));
50
- var workbookTemplate_1 = require("../src/workbookTemplate");
51
- var constants_1 = require("../src/utils/constants");
52
- var globals_1 = require("@jest/globals");
53
- var util_2 = __importDefault(require("util"));
54
- global.TextDecoder = util_1.TextDecoder;
55
- global.TextEncoder = util_1.TextEncoder;
56
- (0, globals_1.describe)("Mashup Document Parser tests", function () {
57
- (0, globals_1.test)("ReplaceSingleQuery test", function () { return __awaiter(void 0, void 0, void 0, function () {
58
- var defaultZipFile, originalBase64Str, replacedQueryBase64Str, buffer, mashupArray, startArray, packageSize, packageOPC, zip, section1m, mocksection1;
59
- var _a;
60
- return __generator(this, function (_b) {
61
- switch (_b.label) {
62
- case 0: return [4 /*yield*/, jszip_1.default.loadAsync(workbookTemplate_1.SIMPLE_QUERY_WORKBOOK_TEMPLATE, { base64: true })];
63
- case 1:
64
- defaultZipFile = _b.sent();
65
- return [4 /*yield*/, utils_1.pqUtils.getBase64(defaultZipFile)];
66
- case 2:
67
- originalBase64Str = _b.sent();
68
- if (!originalBase64Str) return [3 /*break*/, 6];
69
- return [4 /*yield*/, (0, mashupDocumentParser_1.replaceSingleQuery)(originalBase64Str, "newQueryName", mocks_1.section1mNewQueryNameSimpleMock)];
70
- case 3:
71
- replacedQueryBase64Str = _b.sent();
72
- buffer = base64_js_1.default.toByteArray(replacedQueryBase64Str).buffer;
73
- mashupArray = new utils_1.arrayUtils.ArrayReader(buffer);
74
- startArray = mashupArray.getBytes(4);
75
- packageSize = mashupArray.getInt32();
76
- packageOPC = mashupArray.getBytes(packageSize);
77
- return [4 /*yield*/, jszip_1.default.loadAsync(packageOPC)];
78
- case 4:
79
- zip = _b.sent();
80
- return [4 /*yield*/, ((_a = zip.file(constants_1.section1mPath)) === null || _a === void 0 ? void 0 : _a.async("text"))];
81
- case 5:
82
- section1m = _b.sent();
83
- if (section1m) {
84
- mocksection1 = mocks_1.section1mNewQueryNameSimpleMock.replace(/ /g, "");
85
- (0, globals_1.expect)(section1m.replace(/ /g, "")).toEqual(mocksection1);
86
- }
87
- _b.label = 6;
88
- case 6: return [2 /*return*/];
89
- }
90
- });
91
- }); });
92
- (0, globals_1.test)("Power Query MetadataXml test", function () { return __awaiter(void 0, void 0, void 0, function () {
93
- var defaultZipFile, originalBase64Str, metadata, newMetadataArray, metadataString;
94
- return __generator(this, function (_a) {
95
- switch (_a.label) {
96
- case 0: return [4 /*yield*/, jszip_1.default.loadAsync(workbookTemplate_1.SIMPLE_QUERY_WORKBOOK_TEMPLATE, { base64: true })];
97
- case 1:
98
- defaultZipFile = _a.sent();
99
- return [4 /*yield*/, utils_1.pqUtils.getBase64(defaultZipFile)];
100
- case 2:
101
- originalBase64Str = _a.sent();
102
- if (originalBase64Str) {
103
- metadata = (0, mashupDocumentParser_1.getPackageComponents)(originalBase64Str).metadata;
104
- newMetadataArray = (0, mashupDocumentParser_1.editSingleQueryMetadata)(metadata, { queryName: "newQueryName" });
105
- metadataString = new util_2.default.TextDecoder("utf-8").decode(newMetadataArray);
106
- (0, globals_1.expect)(metadataString.replace(/ /g, "")).toContain(mocks_1.pqMetadataXmlMockPart1.replace(/ /g, ""));
107
- (0, globals_1.expect)(metadataString.replace(/ /g, "")).toContain(mocks_1.pqMetadataXmlMockPart2.replace(/ /g, ""));
108
- }
109
- return [2 /*return*/];
110
- }
111
- });
112
- }); });
113
- });
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.relationshipInfo = exports.item2Path = exports.item1Path = exports.pqEmptySingleQueryBase64 = void 0;
4
- exports.pqEmptySingleQueryBase64 = "AAAAAD8DAABQSwMEFAACAAgANG8kVJyKlF+iAAAA9QAAABIAHABDb25maWcvUGFja2FnZS54bWwgohgAKKAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAhY+xDoIwFEV/hXSnLXUR8iiDqyQmROPaQMVGeBhaLP/m4Cf5C2IUdXO8557h3vv1BtnYNsFF99Z0mJKIchJoLLvKYJ2SwR3CJckkbFR5UrUOJhltMtoqJUfnzglj3nvqF7TrayY4j9g+XxflUbeKfGTzXw4NWqew1ETC7jVGChrHVHBBObCZQW7w24tp7rP9gbAaGjf0WmoMtwWwOQJ7X5APUEsDBBQAAgAIADRvJFQPyumrpAAAAOkAAAATABwAW0NvbnRlbnRfVHlwZXNdLnhtbCCiGAAooBQAAAAAAAAAAAAAAAAAAAAAAAAAAABtjksOwjAMRK8SeZ+6sEAINWUB3IALRMH9iOajxkXhbCw4ElcgbXeIpWfmeebzelfHZAfxoDH23inYFCUIcsbfetcqmLiRezjW1fUZKIocdVFBxxwOiNF0ZHUsfCCXncaPVnM+xxaDNnfdEm7LcofGOybHkucfUFdnavQ0sLikLK+1GQdxWnNzlQKmxLjI+JewP3kdwtAbzdnEJG2UdiFxGV5/AVBLAwQUAAIACAA0byRUPfc/WjsAAABKAAAAEwAcAEZvcm11bGFzL1NlY3Rpb24xLm0gohgAKKAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAK05NLsnMz1MIhtCG1rxcvFzFGYlFqSkKgaWpRZWGCrYKOaklvFwKQBCcX1qUnAoUUVLi5crMQxa0BgBQSwECLQAUAAIACAA0byRUnIqUX6IAAAD1AAAAEgAAAAAAAAAAAAAAAAAAAAAAQ29uZmlnL1BhY2thZ2UueG1sUEsBAi0AFAACAAgANG8kVA/K6aukAAAA6QAAABMAAAAAAAAAAAAAAAAA7gAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECLQAUAAIACAA0byRUPfc/WjsAAABKAAAAEwAAAAAAAAAAAAAAAADfAQAARm9ybXVsYXMvU2VjdGlvbjEubVBLBQYAAAAAAwADAMIAAABnAgAAAAAQAQAA77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48UGVybWlzc2lvbkxpc3QgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+PENhbkV2YWx1YXRlRnV0dXJlUGFja2FnZXM+ZmFsc2U8L0NhbkV2YWx1YXRlRnV0dXJlUGFja2FnZXM+PEZpcmV3YWxsRW5hYmxlZD50cnVlPC9GaXJld2FsbEVuYWJsZWQ+PC9QZXJtaXNzaW9uTGlzdD5XBwAAAAAAADUHAADvu788P3htbCB2ZXJzaW9uPSIxLjAiIGVuY29kaW5nPSJ1dGYtOCI/PjxMb2NhbFBhY2thZ2VNZXRhZGF0YUZpbGUgeG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSI+PEl0ZW1zPjxJdGVtPjxJdGVtTG9jYXRpb24+PEl0ZW1UeXBlPkFsbEZvcm11bGFzPC9JdGVtVHlwZT48SXRlbVBhdGggLz48L0l0ZW1Mb2NhdGlvbj48U3RhYmxlRW50cmllcyAvPjwvSXRlbT48SXRlbT48SXRlbUxvY2F0aW9uPjxJdGVtVHlwZT5Gb3JtdWxhPC9JdGVtVHlwZT48SXRlbVBhdGg+U2VjdGlvbjEvUXVlcnkxPC9JdGVtUGF0aD48L0l0ZW1Mb2NhdGlvbj48U3RhYmxlRW50cmllcz48RW50cnkgVHlwZT0iSXNQcml2YXRlIiBWYWx1ZT0ibDAiIC8+PEVudHJ5IFR5cGU9IkZpbGxFbmFibGVkIiBWYWx1ZT0ibDEiIC8+PEVudHJ5IFR5cGU9IkZpbGxPYmplY3RUeXBlIiBWYWx1ZT0ic1RhYmxlIiAvPjxFbnRyeSBUeXBlPSJGaWxsVG9EYXRhTW9kZWxFbmFibGVkIiBWYWx1ZT0ibDAiIC8+PEVudHJ5IFR5cGU9IkJ1ZmZlck5leHRSZWZyZXNoIiBWYWx1ZT0ibDEiIC8+PEVudHJ5IFR5cGU9IlJlc3VsdFR5cGUiIFZhbHVlPSJzVGV4dCIgLz48RW50cnkgVHlwZT0iTmFtZVVwZGF0ZWRBZnRlckZpbGwiIFZhbHVlPSJsMCIgLz48RW50cnkgVHlwZT0iTmF2aWdhdGlvblN0ZXBOYW1lIiBWYWx1ZT0ic05hdmlnYXRpb24iIC8+PEVudHJ5IFR5cGU9IkZpbGxUYXJnZXQiIFZhbHVlPSJzUXVlcnkxIiAvPjxFbnRyeSBUeXBlPSJGaWxsZWRDb21wbGV0ZVJlc3VsdFRvV29ya3NoZWV0IiBWYWx1ZT0ibDEiIC8+PEVudHJ5IFR5cGU9IkFkZGVkVG9EYXRhTW9kZWwiIFZhbHVlPSJsMCIgLz48RW50cnkgVHlwZT0iRmlsbENvdW50IiBWYWx1ZT0ibDEiIC8+PEVudHJ5IFR5cGU9IkZpbGxFcnJvckNvZGUiIFZhbHVlPSJzVW5rbm93biIgLz48RW50cnkgVHlwZT0iRmlsbEVycm9yQ291bnQiIFZhbHVlPSJsMCIgLz48RW50cnkgVHlwZT0iRmlsbExhc3RVcGRhdGVkIiBWYWx1ZT0iZDIwMjItMDEtMDRUMTM6NTc6NDEuNDI4Njg3NloiIC8+PEVudHJ5IFR5cGU9IkZpbGxDb2x1bW5UeXBlcyIgVmFsdWU9InNCZz09IiAvPjxFbnRyeSBUeXBlPSJGaWxsQ29sdW1uTmFtZXMiIFZhbHVlPSJzWyZxdW90O1F1ZXJ5MSZxdW90O10iIC8+PEVudHJ5IFR5cGU9IkZpbGxTdGF0dXMiIFZhbHVlPSJzQ29tcGxldGUiIC8+PEVudHJ5IFR5cGU9IlJlbGF0aW9uc2hpcEluZm9Db250YWluZXIiIFZhbHVlPSJzeyZxdW90O2NvbHVtbkNvdW50JnF1b3Q7OjEsJnF1b3Q7a2V5Q29sdW1uTmFtZXMmcXVvdDs6W10sJnF1b3Q7cXVlcnlSZWxhdGlvbnNoaXBzJnF1b3Q7OltdLCZxdW90O2NvbHVtbklkZW50aXRpZXMmcXVvdDs6WyZxdW90O1NlY3Rpb24xL1F1ZXJ5MS9BdXRvUmVtb3ZlZENvbHVtbnMxLntRdWVyeTEsMH0mcXVvdDtdLCZxdW90O0NvbHVtbkNvdW50JnF1b3Q7OjEsJnF1b3Q7S2V5Q29sdW1uTmFtZXMmcXVvdDs6W10sJnF1b3Q7Q29sdW1uSWRlbnRpdGllcyZxdW90OzpbJnF1b3Q7U2VjdGlvbjEvUXVlcnkxL0F1dG9SZW1vdmVkQ29sdW1uczEue1F1ZXJ5MSwwfSZxdW90O10sJnF1b3Q7UmVsYXRpb25zaGlwSW5mbyZxdW90OzpbXX0iIC8+PC9TdGFibGVFbnRyaWVzPjwvSXRlbT48SXRlbT48SXRlbUxvY2F0aW9uPjxJdGVtVHlwZT5Gb3JtdWxhPC9JdGVtVHlwZT48SXRlbVBhdGg+U2VjdGlvbjEvUXVlcnkxL1NvdXJjZTwvSXRlbVBhdGg+PC9JdGVtTG9jYXRpb24+PFN0YWJsZUVudHJpZXMgLz48L0l0ZW0+PC9JdGVtcz48L0xvY2FsUGFja2FnZU1ldGFkYXRhRmlsZT4WAAAAUEsFBgAAAAAAAAAAAAAAAAAAAAAAANoAAAABAAAA0Iyd3wEV0RGMegDAT8KX6wEAAABs6pJSrvyBRolDTEcY9br+AAAAAAIAAAAAAANmAADAAAAAEAAAAM2ABqrkUHWLIjutmwT8aSwAAAAABIAAAKAAAAAQAAAAB++4pk2c38nl+B8CQ1xQ8lAAAACDTggVTXdcei1dA4QpS2EM3j9zDxuLROzPcF+VlD3TOHucdUilnfVGiFgRj6oDphatETwcwgkP+xXB4TixbYvDp90yn7ajFFbVBH41sxK+ExQAAADnUwPj8oZDOcsaCAlZ2Clo8VQMmw==";
5
- exports.item1Path = "customXml/item1.xml";
6
- exports.item2Path = "customXml/item2.xml";
7
- exports.relationshipInfo = "s{\"columnCount\":1,\"keyColumnNames\":[],\"queryRelationships\":[],\"columnIdentities\":[\"Section1/newQueryName/AutoRemovedColumns1.{newQueryName,0}\"],\"ColumnCount\":1,\"KeyColumnNames\":[],\"ColumnIdentities\":[\"Section1/newQueryName/AutoRemovedColumns1.{newQueryName,0}\"],\"RelationshipInfo\":[]}";
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.addZeroSheetsXmlMock = exports.queryTableMock = exports.workbookXmlMock = exports.sheetsXmlMock = exports.existingSharedStringsXmlMock = exports.pqMetadataXmlMockPart2 = exports.pqMetadataXmlMockPart1 = exports.sharedStringsXmlMock = exports.connectedWorkbookXmlMock = exports.relationshipInfo = exports.item2Path = exports.item1Path = exports.pqEmptySingleQueryBase64 = exports.section1mNewQueryNameBlankMock = exports.section1mNewQueryNameSimpleMock = exports.section1mBlankQueryMock = exports.section1mSimpleQueryMock = exports.simpleQueryMock = void 0;
4
- var section1mSimpleQueryMock_1 = require("./section1mSimpleQueryMock");
5
- Object.defineProperty(exports, "simpleQueryMock", { enumerable: true, get: function () { return section1mSimpleQueryMock_1.simpleQueryMock; } });
6
- Object.defineProperty(exports, "section1mSimpleQueryMock", { enumerable: true, get: function () { return section1mSimpleQueryMock_1.section1mSimpleQueryMock; } });
7
- Object.defineProperty(exports, "section1mBlankQueryMock", { enumerable: true, get: function () { return section1mSimpleQueryMock_1.section1mBlankQueryMock; } });
8
- Object.defineProperty(exports, "section1mNewQueryNameSimpleMock", { enumerable: true, get: function () { return section1mSimpleQueryMock_1.section1mNewQueryNameSimpleMock; } });
9
- Object.defineProperty(exports, "section1mNewQueryNameBlankMock", { enumerable: true, get: function () { return section1mSimpleQueryMock_1.section1mNewQueryNameBlankMock; } });
10
- var PqMock_1 = require("./PqMock");
11
- Object.defineProperty(exports, "pqEmptySingleQueryBase64", { enumerable: true, get: function () { return PqMock_1.pqEmptySingleQueryBase64; } });
12
- Object.defineProperty(exports, "item1Path", { enumerable: true, get: function () { return PqMock_1.item1Path; } });
13
- Object.defineProperty(exports, "item2Path", { enumerable: true, get: function () { return PqMock_1.item2Path; } });
14
- Object.defineProperty(exports, "relationshipInfo", { enumerable: true, get: function () { return PqMock_1.relationshipInfo; } });
15
- var xmlMocks_1 = require("./xmlMocks");
16
- Object.defineProperty(exports, "connectedWorkbookXmlMock", { enumerable: true, get: function () { return xmlMocks_1.connectedWorkbookXmlMock; } });
17
- Object.defineProperty(exports, "sharedStringsXmlMock", { enumerable: true, get: function () { return xmlMocks_1.sharedStringsXmlMock; } });
18
- Object.defineProperty(exports, "pqMetadataXmlMockPart1", { enumerable: true, get: function () { return xmlMocks_1.pqMetadataXmlMockPart1; } });
19
- Object.defineProperty(exports, "pqMetadataXmlMockPart2", { enumerable: true, get: function () { return xmlMocks_1.pqMetadataXmlMockPart2; } });
20
- Object.defineProperty(exports, "existingSharedStringsXmlMock", { enumerable: true, get: function () { return xmlMocks_1.existingSharedStringsXmlMock; } });
21
- Object.defineProperty(exports, "sheetsXmlMock", { enumerable: true, get: function () { return xmlMocks_1.sheetsXmlMock; } });
22
- Object.defineProperty(exports, "workbookXmlMock", { enumerable: true, get: function () { return xmlMocks_1.workbookXmlMock; } });
23
- Object.defineProperty(exports, "queryTableMock", { enumerable: true, get: function () { return xmlMocks_1.queryTableMock; } });
24
- Object.defineProperty(exports, "addZeroSheetsXmlMock", { enumerable: true, get: function () { return xmlMocks_1.addZeroSheetsXmlMock; } });
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.section1mNewQueryNameBlankMock = exports.section1mNewQueryNameSimpleMock = exports.section1mBlankQueryMock = exports.section1mSimpleQueryMock = exports.simpleQueryMock = void 0;
4
- exports.simpleQueryMock = "shared newQueryName = \n let\n Source = Folder.Files(\"C:\\Users\\user1\\Desktop\\test\")\nin\n Source";
5
- exports.section1mSimpleQueryMock = "section Section1;\n\n shared Query1 =\n ".concat(exports.simpleQueryMock, ";");
6
- exports.section1mBlankQueryMock = "section Section1;\r\n\r\nshared Query1 = let\r\n Source = \"\"\r\nin\r\n Source;";
7
- exports.section1mNewQueryNameSimpleMock = "section Section1;\n\n shared newQueryName =\n ".concat(exports.simpleQueryMock, ";");
8
- exports.section1mNewQueryNameBlankMock = "section Section1;\r\n\r\nshared newQueryName = let\r\n Source = \"\"\r\nin\r\n Source;";
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pqConnectionWithrefreshOnLoadDisable = exports.pqConnectionWithrefreshOnLoadEnable = exports.pqMetadataXmlMockPart2 = exports.pqMetadataXmlMockPart1 = exports.existingSharedStringsXmlMock = exports.sharedStringsXmlMock = exports.queryTableMock = exports.workbookXmlMock = exports.addZeroSheetsXmlMock = exports.sheetsXmlMock = exports.connectedWorkbookXmlMock = void 0;
4
- exports.connectedWorkbookXmlMock = '<?xml version="1.0" encoding="utf-8"?><ConnectedWorkbook xmlns="http://schemas.microsoft.com/ConnectedWorkbook" version="1.0.0"></ConnectedWorkbook>';
5
- exports.sheetsXmlMock = '<sheetData><row r="1" spans="1:2" x14ac:dyDescent="0.3"><c r="A1" t="str"><v>Column1</v></c><c r="B1" t="str"><v>Column2</v></c></row><row r="2" spans="1:2" x14ac:dyDescent="0.3"><c r="A2" t="1"><v>1</v></c><c r="B2" t="1"><v>2</v></c></row></sheetData>';
6
- exports.addZeroSheetsXmlMock = '<sheetData><row r="1" spans="1:2" x14ac:dyDescent="0.3"><c r="A1" t="str"><v>Column1</v></c><c r="B1" t="str"><v>Column2</v></c></row><row r="2" spans="1:2" x14ac:dyDescent="0.3"><c r="A2" t="str"><v>one</v></c><c r="B2" t="1"><v>0</v></c></row><row r="3" spans="1:2" x14ac:dyDescent="0.3"><c r="A3" t="str"><v>two</v></c><c r="B3" t="1"><v>2</v></c></row></sheetData>';
7
- exports.workbookXmlMock = '<definedName name="ExternalData_1" localSheetId="0" hidden="1">Sheet1!$A$1:$B$2</definedName>';
8
- exports.queryTableMock = '<queryTableRefresh nextId="3"><queryTableFields count="2"><queryTableField id="1" name="Column1" tableColumnId="1"/><queryTableField id="2" name="Column2" tableColumnId="2"/></queryTableFields></queryTableRefresh></queryTable>';
9
- exports.sharedStringsXmlMock = "<sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"2\" uniqueCount=\"2\"><si><t>Query1</t></si><si><t/></si><si><t>newQueryName</t></si></sst>";
10
- exports.existingSharedStringsXmlMock = "<sst xmlns=\"http://schemas.openxmlformats.org/spreadsheetml/2006/main\" count=\"1\" uniqueCount=\"1\"><si><t>newQueryName</t></si><si><t/></si></sst>";
11
- exports.pqMetadataXmlMockPart1 = '<LocalPackageMetadataFile xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Items> <Item> <ItemLocation> <ItemType>AllFormulas</ItemType> <ItemPath/> </ItemLocation> <StableEntries/> </Item> <Item> <ItemLocation> <ItemType>Formula</ItemType> <ItemPath>Section1/newQueryName</ItemPath> </ItemLocation> <StableEntries> <Entry Type="IsPrivate" Value="l0"/> <Entry Type="FillEnabled" Value="l1"/> <Entry Type="FillObjectType" Value="sTable"/> <Entry Type="FillToDataModelEnabled" Value="l0"/> <Entry Type="BufferNextRefresh" Value="l1"/> <Entry Type="ResultType" Value="sTable"/> <Entry Type="NameUpdatedAfterFill" Value="l0"/> <Entry Type="NavigationStepName" Value="sNavigation"/> <Entry Type="FillTarget" Value="sQuery1"/> <Entry Type="FilledCompleteResultToWorksheet" Value="l1"/> <Entry Type="AddedToDataModel" Value="l0"/> <Entry Type="FillCount" Value="l1"/> <Entry Type="FillErrorCode" Value="sUnknown"/> <Entry Type="FillErrorCount" Value="l0"/>';
12
- exports.pqMetadataXmlMockPart2 = '<Entry Type="FillColumnTypes" Value="sBg=="/> <Entry Type="FillColumnNames" Value="s[&quot;Query1&quot;]"/> <Entry Type="FillStatus" Value="sComplete"/> <Entry Type="RelationshipInfoContainer" Value="s{&quot;columnCount&quot;:1,&quot;keyColumnNames&quot;:[],&quot;queryRelationships&quot;:[],&quot;columnIdentities&quot;:[&quot;Section1/Query1/AutoRemovedColumns1.{Query1,0}&quot;],&quot;ColumnCount&quot;:1,&quot;KeyColumnNames&quot;:[],&quot;ColumnIdentities&quot;:[&quot;Section1/Query1/AutoRemovedColumns1.{Query1,0}&quot;],&quot;RelationshipInfo&quot;:[]}"/> </StableEntries> </Item> <Item> <ItemLocation> <ItemType>Formula</ItemType> <ItemPath>Section1/newQueryName/Source</ItemPath> </ItemLocation> <StableEntries/> </Item> </Items> </LocalPackageMetadataFile>';
13
- exports.pqConnectionWithrefreshOnLoadEnable = "<connection id=\"1\" xr16:uid=\"{86BA784C-6640-4989-A85E-EB4966B9E741}\" keepAlive=\"1\" name=\"Query - Query1\" description=\"Connection to the 'Query1' query in the workbook.\" type=\"5\" refreshedVersion=\"7\" background=\"1\" saveData=\"1\"><dbPr connection=\"Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=&quot;Query1&quot;;\" command=\"SELECT * FROM [Query1]\" refreshOnLoad=\"1\"/></connection>";
14
- exports.pqConnectionWithrefreshOnLoadDisable = "<connection id=\"1\" xr16:uid=\"{86BA784C-6640-4989-A85E-EB4966B9E741}\" keepAlive=\"1\" name=\"Query - Query1\" description=\"Connection to the 'Query1' query in the workbook.\" type=\"5\" refreshedVersion=\"7\" background=\"1\" saveData=\"1\"><dbPr connection=\"Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$;Location=&quot;Query1&quot;;\" command=\"SELECT * FROM [Query1]\" refreshOnLoad=\"0\"/></connection>";
@@ -1,70 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- var utils_1 = require("../src/utils");
6
- var constants_1 = require("../src/utils/constants");
7
- var mocks_1 = require("./mocks");
8
- var globals_1 = require("@jest/globals");
9
- (0, globals_1.describe)("Table Utils tests", function () {
10
- (0, globals_1.test)("tests workbookXML contains initial data dimensions", function () {
11
- var tableData = {
12
- columnNames: ["Column1", "Column2"],
13
- rows: [["1", "2"]],
14
- };
15
- var cellRangeRef = constants_1.defaults.sheetName + utils_1.tableUtils.GenerateReferenceFromString("A1:".concat(utils_1.documentUtils.getCellReferenceRelative(tableData.columnNames.length - 1, tableData.rows.length + 1)));
16
- var defaultString = '<workbook xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x15 xr xr6 xr10 xr2" xmlns:x15="http://schemas.microsoft.com/office/spreadsheetml/2010/11/main" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr6="http://schemas.microsoft.com/office/spreadsheetml/2016/revision6" xmlns:xr10="http://schemas.microsoft.com/office/spreadsheetml/2016/revision10" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2"><fileVersion appName="xl" lastEdited="7" lowestEdited="7" rupBuild="24729"/><workbookPr codeName="ThisWorkbook" defaultThemeVersion="166925"/><mc:AlternateContent><mc:Choice Requires="x15"><x15ac:absPath url="C:Usersv-ahmadsbeihDesktop" xmlns:x15ac="http://schemas.microsoft.com/office/spreadsheetml/2010/11/ac"/></mc:Choice></mc:AlternateContent><xr:revisionPtr revIDLastSave="0" documentId="13_ncr:1_{93EF201C-7856-4B60-94D4-65DDB8F3F16A}" xr6:coauthVersionLast="47" xr6:coauthVersionMax="47" xr10:uidLastSave="{00000000-0000-0000-0000-000000000000}"/><bookViews><workbookView xWindow="28680" yWindow="-120" windowWidth="29040" windowHeight="15990" xr2:uid="{DB915CB9-8DD9-492A-A471-C61E61200113}"/></bookViews><sheets><sheet name="Query1" sheetId="2" r:id="rId1"/><sheet name="Sheet1" sheetId="1" r:id="rId2"/></sheets><definedNames><definedName name="ExternalData_1" localSheetId="0" hidden="1">Sheet1!$A$1:$B$2</definedName></definedNames><calcPr calcId="191029"/><extLst><ext uri="{140A7094-0E35-4892-8432-C4D2E57EDEB5}"><x15:workbookPr chartTrackingRefBase="1"/></ext><ext uri="{B58B0392-4F1F-4190-BB64-5DF3571DCE5F}" xmlns:xcalcf="http://schemas.microsoft.com/office/spreadsheetml/2018/calcfeatures"><xcalcf:calcFeatures><xcalcf:feature name="microsoft.com:RD"/><xcalcf:feature name="microsoft.com:FV"/><xcalcf:feature name="microsoft.com:LET_WF"/><xcalcf:feature name="microsoft.com:LAMBDA_WF"/></xcalcf:calcFeatures></ext></extLst></workbook>';
17
- var worksheetXml = utils_1.tableUtils.updateWorkbookInitialData(defaultString, cellRangeRef);
18
- (0, globals_1.expect)(worksheetXml).toContain(mocks_1.workbookXmlMock);
19
- });
20
- (0, globals_1.test)("tests Pivot Tables contain initial data", function () {
21
- var defaultString = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r\n<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="xr xr3" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" id="1" xr:uid="{D8539CF6-04E5-464D-9950-5A36C5A1FCFE}" name="Query1" displayName="Query1" ref="A1:A2" tableType="queryTable" totalsRowShown="0"><autoFilter ref="A1:A2" xr:uid="{D8539CF6-04E5-464D-9950-5A36C5A1FCFE}"/><tableColumns count="1"><tableColumn id="1" xr3:uid="{D1084858-8AE5-4728-A9BE-FE78821CDFFF}" uniqueName="1" name="Query1" queryTableFieldId="1" dataDxfId="0"/></tableColumns><tableStyleInfo name="TableStyleMedium7" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0"/></table>';
22
- var tableData = {
23
- columnNames: ["Column1", "Column2"],
24
- rows: [["1", "2"]],
25
- };
26
- var tableXmlSheet = utils_1.tableUtils.updateTablesInitialData(defaultString, tableData, "A1:".concat(utils_1.documentUtils.getCellReferenceRelative(tableData.columnNames.length - 1, tableData.rows.length + 1)), true);
27
- (0, globals_1.expect)(tableXmlSheet).toContain('count="2"');
28
- (0, globals_1.expect)(tableXmlSheet).toContain('ref="A1:B2');
29
- (0, globals_1.expect)(tableXmlSheet).toContain('uniqueName="1"');
30
- (0, globals_1.expect)(tableXmlSheet).toContain('name="Column1"');
31
- (0, globals_1.expect)(tableXmlSheet).toContain('queryTableFieldId="1"');
32
- (0, globals_1.expect)(tableXmlSheet).toContain('uniqueName="2"');
33
- (0, globals_1.expect)(tableXmlSheet).toContain('name="Column2"');
34
- (0, globals_1.expect)(tableXmlSheet).toContain('queryTableFieldId="2"');
35
- });
36
- (0, globals_1.test)("tests blank Table contain initial data", function () {
37
- var tableData = {
38
- columnNames: ["Column1", "Column2"],
39
- rows: [["1", "2"]],
40
- };
41
- var defaultString = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r\n<table xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="xr xr3" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" id="1" xr:uid="{D8539CF6-04E5-464D-9950-5A36C5A1FCFE}" name="Query1" displayName="Query1" ref="A1:A2" tableType="queryTable" totalsRowShown="0"><autoFilter ref="A1:A2" xr:uid="{D8539CF6-04E5-464D-9950-5A36C5A1FCFE}"/><tableColumns count="1"><tableColumn id="1" xr3:uid="{D1084858-8AE5-4728-A9BE-FE78821CDFFF}" uniqueName="1" name="Query1" queryTableFieldId="1" dataDxfId="0"/></tableColumns><tableStyleInfo name="TableStyleMedium7" showFirstColumn="0" showLastColumn="0" showRowStripes="1" showColumnStripes="0"/></table>';
42
- var tableXmlSheet = utils_1.tableUtils.updateTablesInitialData(defaultString, tableData, "A1:".concat(utils_1.documentUtils.getCellReferenceRelative(tableData.columnNames.length - 1, tableData.rows.length + 1)), false);
43
- (0, globals_1.expect)(tableXmlSheet).toContain('count="2"');
44
- (0, globals_1.expect)(tableXmlSheet).toContain('ref="A1:B2');
45
- (0, globals_1.expect)(tableXmlSheet).toContain('name="Column2"');
46
- (0, globals_1.expect)(tableXmlSheet).toContain('name="Column1"');
47
- //Not contains query table metadata.
48
- (0, globals_1.expect)(tableXmlSheet).not.toContain('uniqueName="1"');
49
- (0, globals_1.expect)(tableXmlSheet).not.toContain('queryTableFieldId="1"');
50
- (0, globals_1.expect)(tableXmlSheet).not.toContain('uniqueName="2"');
51
- (0, globals_1.expect)(tableXmlSheet).not.toContain('queryTableFieldId="2"');
52
- });
53
- (0, globals_1.test)("test valid initial data in SheetsXML", function () {
54
- var tableData = {
55
- columnNames: ["Column1", "Column2"],
56
- rows: [["1", "2"]],
57
- };
58
- var defaultString = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?><worksheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="x14ac xr xr2 xr3" xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac" xmlns:xr="http://schemas.microsoft.com/office/spreadsheetml/2014/revision" xmlns:xr2="http://schemas.microsoft.com/office/spreadsheetml/2015/revision2" xmlns:xr3="http://schemas.microsoft.com/office/spreadsheetml/2016/revision3" xr:uid="{EDF0138E-D216-4CD1-8EFA-1396A1BB4478}"><sheetPr codeName="Sheet1"/><dimension ref="A1:B2"/><sheetViews><sheetView tabSelected="1" workbookViewId="0"><selection sqref="A1:B2"/></sheetView></sheetViews><sheetFormatPr defaultRowHeight="14.4" x14ac:dyDescent="0.3"/><cols><col min="1" max="1" width="9.6640625" bestFit="1" customWidth="1"/></cols><sheetData><row r="1" spans="1:1" x14ac:dyDescent="0.3"><c r="A1" t="s"><v>0</v></c></row><row r="2" spans="1:1" x14ac:dyDescent="0.3"><c r="A2" t="s"><v>1</v></c></row></sheetData><pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/><tableParts count="1"><tablePart r:id="rId1"/></tableParts></worksheet>';
59
- var sheetsXmlString = utils_1.tableUtils.updateSheetsInitialData(defaultString, tableData, "A1:".concat(utils_1.documentUtils.getCellReferenceRelative(tableData.columnNames.length - 1, tableData.rows.length + 1)));
60
- (0, globals_1.expect)(sheetsXmlString).toContain(mocks_1.sheetsXmlMock);
61
- });
62
- (0, globals_1.test)("tests Query Tables contain initial data", function () {
63
- var defaultString = '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\r\n<queryTable xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="xr16" xmlns:xr16="http://schemas.microsoft.com/office/spreadsheetml/2017/revision16" name="ExternalData_1" connectionId="1" xr16:uid="{24C17B89-3CD3-4AA5-B84F-9FF5F35245D7}" autoFormatId="16" applyNumberFormats="0" applyBorderFormats="0" applyFontFormats="0" applyPatternFormats="0" applyAlignmentFormats="0" applyWidthHeightFormats="0"><queryTableRefresh nextId="2"><queryTableFields count="1"><queryTableField id="1" name="Query1" tableColumnId="1"/></queryTableFields></queryTableRefresh></queryTable>';
64
- var queryTableXmlSheet = utils_1.tableUtils.updateQueryTablesInitialData(defaultString, {
65
- columnNames: ["Column1", "Column2"],
66
- rows: [["1", "2"]],
67
- });
68
- (0, globals_1.expect)(queryTableXmlSheet).toContain(mocks_1.queryTableMock);
69
- });
70
- });
@@ -1,218 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- var __generator = (this && this.__generator) || function (thisArg, body) {
14
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
15
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
16
- function verb(n) { return function (v) { return step([n, v]); }; }
17
- function step(op) {
18
- if (f) throw new TypeError("Generator is already executing.");
19
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
20
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
21
- if (y = 0, t) op = [op[0] & 2, t.value];
22
- switch (op[0]) {
23
- case 0: case 1: t = op; break;
24
- case 4: _.label++; return { value: op[1], done: false };
25
- case 5: _.label++; y = op[1]; op = [0]; continue;
26
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
27
- default:
28
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
29
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
30
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
31
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
32
- if (t[2]) _.ops.pop();
33
- _.trys.pop(); continue;
34
- }
35
- op = body.call(thisArg, _);
36
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
37
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
38
- }
39
- };
40
- var __importDefault = (this && this.__importDefault) || function (mod) {
41
- return (mod && mod.__esModule) ? mod : { "default": mod };
42
- };
43
- Object.defineProperty(exports, "__esModule", { value: true });
44
- var utils_1 = require("../src/utils");
45
- var constants_1 = require("../src/utils/constants");
46
- var mashupDocumentParser_1 = require("../src/utils/mashupDocumentParser");
47
- var workbookTemplate_1 = require("../src/workbookTemplate");
48
- var mocks_1 = require("./mocks");
49
- var jszip_1 = __importDefault(require("jszip"));
50
- var globals_1 = require("@jest/globals");
51
- var xmlMocks_1 = require("./mocks/xmlMocks");
52
- var getZip = function (template) { return __awaiter(void 0, void 0, void 0, function () {
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0: return [4 /*yield*/, jszip_1.default.loadAsync(template, {
56
- base64: true,
57
- })];
58
- case 1: return [2 /*return*/, _a.sent()];
59
- }
60
- });
61
- }); };
62
- (0, globals_1.describe)("Single query template tests", function () {
63
- var singleQueryDefaultTemplate = workbookTemplate_1.SIMPLE_QUERY_WORKBOOK_TEMPLATE;
64
- var singleQueryTemplateDiffrenName = workbookTemplate_1.QUERY_WORKBOOK_TEMPLATE_DIFFRENT_SHEET_NAME;
65
- var defaultZipFile;
66
- var zipFileWithSheetName;
67
- (0, globals_1.beforeAll)(function () { return __awaiter(void 0, void 0, void 0, function () {
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0:
71
- (0, globals_1.expect)(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
72
- switch (_a.label) {
73
- case 0: return [4 /*yield*/, getZip(singleQueryDefaultTemplate)];
74
- case 1: return [2 /*return*/, _a.sent()];
75
- }
76
- }); }); }).not.toThrow();
77
- return [4 /*yield*/, getZip(singleQueryDefaultTemplate)];
78
- case 1:
79
- defaultZipFile = _a.sent();
80
- (0, globals_1.expect)(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
81
- switch (_a.label) {
82
- case 0: return [4 /*yield*/, getZip(singleQueryTemplateDiffrenName)];
83
- case 1: return [2 /*return*/, _a.sent()];
84
- }
85
- }); }); }).not.toThrow();
86
- return [4 /*yield*/, getZip(singleQueryTemplateDiffrenName)];
87
- case 2:
88
- zipFileWithSheetName = _a.sent();
89
- return [2 /*return*/];
90
- }
91
- });
92
- }); });
93
- (0, globals_1.test)("Default template is a valid zip file", function () { return __awaiter(void 0, void 0, void 0, function () {
94
- return __generator(this, function (_a) {
95
- (0, globals_1.expect)(defaultZipFile).toBeTruthy();
96
- return [2 /*return*/];
97
- });
98
- }); });
99
- (0, globals_1.test)("Template with different name is a valid zip file", function () { return __awaiter(void 0, void 0, void 0, function () {
100
- return __generator(this, function (_a) {
101
- (0, globals_1.expect)(zipFileWithSheetName).toBeTruthy();
102
- return [2 /*return*/];
103
- });
104
- }); });
105
- (0, globals_1.test)("DataMashup XML exists, and valid PQ Base64 can be extracted", function () { return __awaiter(void 0, void 0, void 0, function () {
106
- var _a, found, path, value;
107
- return __generator(this, function (_b) {
108
- switch (_b.label) {
109
- case 0:
110
- (0, globals_1.expect)(function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
111
- switch (_a.label) {
112
- case 0: return [4 /*yield*/, utils_1.pqUtils.getDataMashupFile(defaultZipFile)];
113
- case 1: return [2 /*return*/, _a.sent()];
114
- }
115
- }); }); }).not.toThrowError();
116
- return [4 /*yield*/, utils_1.pqUtils.getDataMashupFile(defaultZipFile)];
117
- case 1:
118
- _a = _b.sent(), found = _a.found, path = _a.path, value = _a.value;
119
- (0, globals_1.expect)(found).toBeTruthy();
120
- (0, globals_1.expect)(value).toEqual(mocks_1.pqEmptySingleQueryBase64);
121
- (0, globals_1.expect)(path).toEqual(mocks_1.item1Path);
122
- return [2 /*return*/];
123
- }
124
- });
125
- }); });
126
- (0, globals_1.test)("ConnectedWorkbook XML exists as item1.xml", function () { return __awaiter(void 0, void 0, void 0, function () {
127
- var _a, found, path, xmlString;
128
- return __generator(this, function (_b) {
129
- switch (_b.label) {
130
- case 0: return [4 /*yield*/, utils_1.pqUtils.getCustomXmlFile(defaultZipFile, constants_1.URLS.CONNECTED_WORKBOOK)];
131
- case 1:
132
- _a = _b.sent(), found = _a.found, path = _a.path, xmlString = _a.xmlString;
133
- (0, globals_1.expect)(found).toBeTruthy();
134
- (0, globals_1.expect)(xmlString).toEqual(mocks_1.connectedWorkbookXmlMock);
135
- (0, globals_1.expect)(path).toEqual(mocks_1.item2Path);
136
- return [2 /*return*/];
137
- }
138
- });
139
- }); });
140
- (0, globals_1.test)("A single blank query named Query1 exists", function () { return __awaiter(void 0, void 0, void 0, function () {
141
- var base64Str, packageOPC, packageZip, section1m, hasQuery1;
142
- var _a;
143
- return __generator(this, function (_b) {
144
- switch (_b.label) {
145
- case 0: return [4 /*yield*/, utils_1.pqUtils.getBase64(defaultZipFile)];
146
- case 1:
147
- base64Str = _b.sent();
148
- packageOPC = (0, mashupDocumentParser_1.getPackageComponents)(base64Str).packageOPC;
149
- return [4 /*yield*/, jszip_1.default.loadAsync(packageOPC)];
150
- case 2:
151
- packageZip = _b.sent();
152
- return [4 /*yield*/, ((_a = packageZip.file(constants_1.section1mPath)) === null || _a === void 0 ? void 0 : _a.async(constants_1.textResultType))];
153
- case 3:
154
- section1m = _b.sent();
155
- if (section1m == undefined) {
156
- throw new Error("section1m is undefined");
157
- }
158
- hasQuery1 = section1m.includes("Query1");
159
- (0, globals_1.expect)(hasQuery1).toBeTruthy();
160
- (0, globals_1.expect)(section1m).toEqual(mocks_1.section1mBlankQueryMock);
161
- return [2 /*return*/];
162
- }
163
- });
164
- }); });
165
- (0, globals_1.test)("A update query with specific sheet name", function () { return __awaiter(void 0, void 0, void 0, function () {
166
- var queryName, sheetName, refreshOnOpen, zipFileWithSheetNameClone, connectionsXmlString;
167
- var _a;
168
- return __generator(this, function (_b) {
169
- switch (_b.label) {
170
- case 0:
171
- queryName = constants_1.defaults.queryName;
172
- sheetName = "SheetNew";
173
- refreshOnOpen = false;
174
- zipFileWithSheetNameClone = zipFileWithSheetName.clone();
175
- (0, globals_1.expect)(utils_1.xmlPartsUtils.updateWorkbookSingleQueryAttributes(zipFileWithSheetNameClone, queryName, refreshOnOpen, sheetName)).resolves.toBeUndefined();
176
- return [4 /*yield*/, utils_1.xmlPartsUtils.updateWorkbookSingleQueryAttributes(zipFileWithSheetNameClone, queryName, refreshOnOpen, sheetName)];
177
- case 1:
178
- _b.sent();
179
- return [4 /*yield*/, ((_a = zipFileWithSheetNameClone.file(constants_1.connectionsXmlPath)) === null || _a === void 0 ? void 0 : _a.async(constants_1.textResultType))];
180
- case 2:
181
- connectionsXmlString = _b.sent();
182
- (0, globals_1.expect)(connectionsXmlString).toContain(xmlMocks_1.pqConnectionWithrefreshOnLoadDisable);
183
- return [2 /*return*/];
184
- }
185
- });
186
- }); });
187
- (0, globals_1.test)("A update query with default sheet name", function () { return __awaiter(void 0, void 0, void 0, function () {
188
- var queryName, refreshOnOpen, defaultZipFileClone, connectionsXmlString;
189
- var _a;
190
- return __generator(this, function (_b) {
191
- switch (_b.label) {
192
- case 0:
193
- queryName = constants_1.defaults.queryName;
194
- refreshOnOpen = true;
195
- defaultZipFileClone = defaultZipFile.clone();
196
- (0, globals_1.expect)(utils_1.xmlPartsUtils.updateWorkbookSingleQueryAttributes(defaultZipFileClone, queryName, refreshOnOpen)).resolves.toBeUndefined();
197
- return [4 /*yield*/, utils_1.xmlPartsUtils.updateWorkbookSingleQueryAttributes(defaultZipFileClone, queryName, refreshOnOpen)];
198
- case 1:
199
- _b.sent();
200
- return [4 /*yield*/, ((_a = defaultZipFileClone.file(constants_1.connectionsXmlPath)) === null || _a === void 0 ? void 0 : _a.async(constants_1.textResultType))];
201
- case 2:
202
- connectionsXmlString = _b.sent();
203
- (0, globals_1.expect)(connectionsXmlString).toContain(xmlMocks_1.pqConnectionWithrefreshOnLoadEnable);
204
- return [2 /*return*/];
205
- }
206
- });
207
- }); });
208
- (0, globals_1.test)("sent sheet name does not exist in template", function () { return __awaiter(void 0, void 0, void 0, function () {
209
- var queryName, sheetName, refreshOnOpen;
210
- return __generator(this, function (_a) {
211
- queryName = constants_1.defaults.queryName;
212
- sheetName = "SheetElse";
213
- refreshOnOpen = true;
214
- (0, globals_1.expect)(utils_1.xmlPartsUtils.updateWorkbookSingleQueryAttributes(zipFileWithSheetName, queryName, refreshOnOpen, sheetName)).rejects.toEqual(new Error("Sheet with name ".concat(sheetName, " not found")));
215
- return [2 /*return*/];
216
- });
217
- }); });
218
- });