Skip to content

Commit a580e09

Browse files
authored
[♻] {PROD4POD-1931} Move zipfile mock-up and improve coverage (#1205)
# ✍️ Description The mock for zip-files is more useful in the common `poly-import` module. That way it can also be used in the module itself to mock zipfiles, and imported from any module that needs to mock zips. While we were at it, boost a bit coverage of said test. ### 🏗️ Fixes PROD4POD-1931 It is a precondition for #1204, since `Storage` needs zip files to be tested. ## ℹ️ Other information Some minor refactoring also made. Might include some refactoring of tests, mainly to reduce boilerplate. Not for the time being. ### Additional functionality * ✅ adds tests in parts that were not covered, for instance, file name analysis in Facebook
1 parent 8950683 commit a580e09

29 files changed

Lines changed: 115 additions & 28 deletions

feature-utils/poly-import/src/index.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,27 @@ import {
1414
import DataAccount from "./entities/data-account";
1515
import { Status, statusTypes } from "../utils/status";
1616
import { Telemetry } from "../utils/performance-telemetry";
17+
import {
18+
MINIMUM_FILE_SIZE,
19+
ZipFileEntryMock,
20+
ZipFileMock,
21+
} from "../utils/zipfile-mock";
22+
import { jsonStringifyWithUtfEscape } from "../utils/json-encoding";
23+
1724
export {
25+
MINIMUM_FILE_SIZE,
26+
jsonStringifyWithUtfEscape,
1827
Status,
1928
Importer,
2029
runImporter,
2130
runImporters,
2231
runOutdatedImporter,
2332
runOutdatedImporters,
2433
ZipFile,
34+
ZipFileMock,
2535
Telemetry,
2636
ZipFileEntry,
37+
ZipFileEntryMock,
2738
FileImportError,
2839
RefreshFilesError,
2940
FileSelectionError,

features/facebookImport/test/utf8-encoding-decoding.test.js renamed to feature-utils/poly-import/test/utf8-encoding-decoding.test.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
"use strict";
22

3-
import { jsonStringifyWithUtfEscape } from "../src/model/importers/utils/json-encoding";
3+
import { jsonStringifyWithUtfEscape } from "../utils/json-encoding";
44

55
const jsonData1 = "🦊";
66
const jsonData2 = "🦊🤗😍";
@@ -22,6 +22,11 @@ describe("JSON encode", () => {
2222
it("Various characters", () => {
2323
expect(jsonStringifyWithUtfEscape(jsonData3)).toBe(decodedData3);
2424
});
25+
26+
it("passes through non-string data", () => {
27+
const foo42 = { foo: 42 };
28+
expect(jsonStringifyWithUtfEscape(foo42)).toBe(JSON.stringify(foo42));
29+
});
2530
});
2631

2732
describe("Decodes", () => {

features/facebookImport/src/model/importers/utils/json-encoding.js renamed to feature-utils/poly-import/utils/json-encoding.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,7 @@ function jsonStringifyWithUtfEscape(jsonData) {
2424
}
2525
return value;
2626
});
27-
const escapedString = jsonStringEscapeUtfCharacters(serializedString);
28-
return escapedString;
27+
return jsonStringEscapeUtfCharacters(serializedString);
2928
}
3029

3130
export { jsonStringEscapeUtfCharacters, jsonStringifyWithUtfEscape };

features/facebookImport/test/mocks/zipfile-mock.js renamed to feature-utils/poly-import/utils/zipfile-mock.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { jsonStringifyWithUtfEscape } from "../../src/model/importers/utils/json-encoding";
1+
import { jsonStringifyWithUtfEscape } from "./json-encoding";
22

33
//The minimum size of a .ZIP file is 22 bytes
44
export const MINIMUM_FILE_SIZE = 22;

features/facebookImport/test/datasets/messages-data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ZipFileMock } from "../mocks/zipfile-mock";
1+
import { ZipFileMock } from "@polypoly-eu/poly-import";
22
import { createMockedZip } from "../utils/data-creation";
33
export const DATASET_EXPECTED_VALUES = {
44
numberOfMessageThreads: 2,

features/facebookImport/test/datasets/posts-data.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { ZipFileMock } from "../mocks/zipfile-mock";
1+
import { ZipFileMock } from "@polypoly-eu/poly-import";
22
import { createMockedZip } from "../utils/data-creation";
33

44
const POSTS_FILE_PATH = "posts/your_posts_X.json";

features/facebookImport/test/importers/ad-interests-importer.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
DATASET_EXPECTED_VALUES,
66
zipFileWithAdInterests,
77
} from "../datasets/ad-interests-data";
8-
import { ZipFileMock } from "../mocks/zipfile-mock";
8+
import { ZipFileMock } from "@polypoly-eu/poly-import";
99
import { zipWithWrongDatasetKey } from "../utils/data-creation";
1010
import { runAdInterestsImporter } from "../utils/data-importing";
1111
import {

features/facebookImport/test/importers/ad-views-importer.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99
createEnglishDatasetWithMissingAdsCategory,
1010
createIncompleteEnglishAdViewsData,
1111
} from "../datasets/ad-views-data";
12-
import { ZipFileMock } from "../mocks/zipfile-mock";
12+
import { ZipFileMock } from "@polypoly-eu/poly-import";
1313
import { zipWithWrongDatasetKey } from "../utils/data-creation";
1414
import {
1515
runAdsImportForDataset,

features/facebookImport/test/importers/comments-importer.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import {
55
DATASET_EXPECTED_VALUES,
66
zipFileWithComments,
77
} from "../datasets/comments-data";
8-
import { ZipFileMock } from "../mocks/zipfile-mock";
8+
import { ZipFileMock } from "@polypoly-eu/poly-import";
99
import { zipWithWrongDatasetKey } from "../utils/data-creation";
1010
import { runCommentsImporter } from "../utils/data-importing";
1111
import {

features/facebookImport/test/importers/connected-advertisers-all-types-importer.test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
DATASET_EXPECTED_VALUES,
77
zipFileWithConnectedAdvertisersAllTypes,
88
} from "../datasets/connected-advertisers-all-types-data";
9-
import { ZipFileMock } from "../mocks/zipfile-mock";
9+
import { ZipFileMock } from "@polypoly-eu/poly-import";
1010
import { zipWithWrongDatasetKey } from "../utils/data-creation";
1111
import { runConnectedAdvertisersWithAllTypesImporter } from "../utils/data-importing";
1212
import {

0 commit comments

Comments
 (0)