@orchesty/connector-heureka-feed 1.0.0 → 1.0.1

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/package.json +4 -1
  2. package/package.json +4 -1
  3. package/CHANGELOG.md +0 -7
  4. package/coverage/clover.xml +0 -94
  5. package/coverage/coverage-final.json +0 -5
  6. package/coverage/lcov-report/base.css +0 -224
  7. package/coverage/lcov-report/block-navigation.js +0 -87
  8. package/coverage/lcov-report/favicon.png +0 -0
  9. package/coverage/lcov-report/index.html +0 -146
  10. package/coverage/lcov-report/prettify.css +0 -1
  11. package/coverage/lcov-report/prettify.js +0 -2
  12. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  13. package/coverage/lcov-report/sorter.js +0 -210
  14. package/coverage/lcov-report/src/Connector/HeurekaAvailabilityFeedConnector.ts.html +0 -286
  15. package/coverage/lcov-report/src/Connector/HeurekaProductFeedConnector.ts.html +0 -346
  16. package/coverage/lcov-report/src/Connector/index.html +0 -131
  17. package/coverage/lcov-report/src/HeurekaFeedApplication.ts.html +0 -295
  18. package/coverage/lcov-report/src/index.html +0 -116
  19. package/coverage/lcov-report/test/dataProvider.ts.html +0 -199
  20. package/coverage/lcov-report/test/index.html +0 -116
  21. package/coverage/lcov.info +0 -133
  22. package/jest.config.js +0 -13
  23. package/src/Connector/HeurekaAvailabilityFeedConnector.ts +0 -67
  24. package/src/Connector/HeurekaProductFeedConnector.ts +0 -87
  25. package/src/Connector/__tests__/Data/HeurekaAvailabilityFeedConnector/heurekaAvailabilityResponseMock.xml +0 -22
  26. package/src/Connector/__tests__/Data/HeurekaAvailabilityFeedConnector/input.json +0 -6
  27. package/src/Connector/__tests__/Data/HeurekaAvailabilityFeedConnector/output.json +0 -53
  28. package/src/Connector/__tests__/Data/HeurekaProductFeedConnector/heurekaProductResponseMock.xml +0 -88
  29. package/src/Connector/__tests__/Data/HeurekaProductFeedConnector/input.json +0 -6
  30. package/src/Connector/__tests__/Data/HeurekaProductFeedConnector/output.json +0 -101
  31. package/src/Connector/__tests__/HeurekaAvailabilityFeedConnector.ts +0 -32
  32. package/src/Connector/__tests__/HeurekaProductFeedConnector.ts +0 -32
  33. package/src/HeurekaFeedApplication.ts +0 -70
  34. package/test/dataProvider.ts +0 -38
  35. package/tsconfig.json +0 -8
  36. package/tsconfig.prod.json +0 -13
  37. package/tsconfig.prod.tsbuildinfo +0 -1
@@ -1,101 +0,0 @@
1
- {
2
- "headers": {
3
- "user": "TestUser"
4
- },
5
- "data": {
6
- "SHOP": {
7
- "SHOPITEM": [
8
- {
9
- "ACCESSORY": "CD456",
10
- "CATEGORYTEXT": "Elektronika | Mobilní telefony",
11
- "DELIVERY": [
12
- {
13
- "DELIVERY_ID": "CESKA_POSTA",
14
- "DELIVERY_PRICE": 120,
15
- "DELIVERY_PRICE_COD": 120
16
- },
17
- {
18
- "DELIVERY_ID": "PPL",
19
- "DELIVERY_PRICE": 90,
20
- "DELIVERY_PRICE_COD": 120
21
- }
22
- ],
23
- "DELIVERY_DATE": 2,
24
- "DESCRIPTION": "Klasický s plným dotykovým uživatelským rozhraním",
25
- "EAN": 6417182041488,
26
- "EXTENDED_WARRANTY": {
27
- "DESC": "Záruka na 36 měsíců",
28
- "VAL": 36
29
- },
30
- "GIFT": "Pouzdro zdarma",
31
- "HEUREKA_CPC": "5,8",
32
- "IMGURL": "http://obchod.cz/mobily/nokia-5800-xpressmusic/obrazek.jpg",
33
- "IMGURL_ALTERNATIVE": "http://obchod.cz/mobily/nokia-5800-xpressmusic/obrazek2.jpg",
34
- "ITEMGROUP_ID": "EF789",
35
- "ITEM_ID": "AB123",
36
- "MANUFACTURER": "NOKIA",
37
- "PARAM": {
38
- "PARAM_NAME": "Barva",
39
- "VAL": "černá"
40
- },
41
- "PRICE_VAT": 6000,
42
- "PRODUCT": "Nokia 5800 XpressMusic",
43
- "PRODUCTNAME": "Nokia 5800 XpressMusic",
44
- "PRODUCTNO": "RM-559394",
45
- "SALES_VOUCHER": {
46
- "CODE": "SLEVA20",
47
- "DESC": "Sleva 20% po zadání kódu do 31.12.2021!"
48
- },
49
- "SPECIAL_SERVICE": "Aplikace ochranné fólie",
50
- "URL": "http://obchod.cz/mobily/nokia-5800-xpressmusic",
51
- "VIDEO_URL": "http://www.youtube.com/watch?v=KjR759oWF7w"
52
- },
53
- {
54
- "ACCESSORY": "CD456",
55
- "CATEGORYTEXT": "Elektronika | Mobilní telefony",
56
- "DELIVERY": [
57
- {
58
- "DELIVERY_ID": "CESKA_POSTA",
59
- "DELIVERY_PRICE": 120,
60
- "DELIVERY_PRICE_COD": 120
61
- },
62
- {
63
- "DELIVERY_ID": "PPL",
64
- "DELIVERY_PRICE": 90,
65
- "DELIVERY_PRICE_COD": 120
66
- }
67
- ],
68
- "DELIVERY_DATE": 2,
69
- "DESCRIPTION": "Klasický s plným dotykovým uživatelským rozhraním",
70
- "EAN": 6417182041488,
71
- "EXTENDED_WARRANTY": {
72
- "DESC": "Záruka na 36 měsíců",
73
- "VAL": 36
74
- },
75
- "GIFT": "Pouzdro zdarma",
76
- "HEUREKA_CPC": "5,8",
77
- "IMGURL": "http://obchod.cz/mobily/nokia-5800-xpressmusic/obrazek.jpg",
78
- "IMGURL_ALTERNATIVE": "http://obchod.cz/mobily/nokia-5800-xpressmusic/obrazek2.jpg",
79
- "ITEMGROUP_ID": "EF789",
80
- "ITEM_ID": "A123",
81
- "MANUFACTURER": "NOKIA",
82
- "PARAM": {
83
- "PARAM_NAME": "Barva",
84
- "VAL": "černá"
85
- },
86
- "PRICE_VAT": 6000,
87
- "PRODUCT": "Nokia 5800 XpressMusic",
88
- "PRODUCTNAME": "Nokia 5800 XpressMusic",
89
- "PRODUCTNO": "RM-559394",
90
- "SALES_VOUCHER": {
91
- "CODE": "SLEVA20",
92
- "DESC": "Sleva 20% po zadání kódu do 31.12.2021!"
93
- },
94
- "SPECIAL_SERVICE": "Aplikace ochranné fólie",
95
- "URL": "http://obchod.cz/mobily/nokia-5800-xpressmusic",
96
- "VIDEO_URL": "http://www.youtube.com/watch?v=KjR759oWF7w"
97
- }
98
- ]
99
- }
100
- }
101
- }
@@ -1,32 +0,0 @@
1
- import { container } from '@orchesty/nodejs-connectors/test/TestAbstract';
2
- import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
3
- import { mockOnce } from '@orchesty/nodejs-sdk/dist/test/MockServer';
4
- import NodeTester from '@orchesty/nodejs-sdk/dist/test/Testers/NodeTester';
5
- import { readFileSync } from 'fs';
6
- import init from '../../../test/dataProvider';
7
- import { NAME as HEUREKA_AVAILABILITY_FEED_CONNECTOR } from '../HeurekaAvailabilityFeedConnector';
8
-
9
- let tester: NodeTester;
10
-
11
- describe('Tests for HeurekaAvailabilityFeedConnector', () => {
12
- beforeAll(() => {
13
- tester = new NodeTester(container, __filename, false, ['']);
14
- init();
15
- });
16
-
17
- it('process - ok', async () => {
18
- mockOnce([
19
- {
20
- request: {
21
- method: HttpMethods.GET, url: /https:\/\/path\.to\/xml*/,
22
- },
23
- response: {
24
- code: 200,
25
- body: readFileSync(
26
- `${__dirname}/Data/HeurekaAvailabilityFeedConnector/heurekaAvailabilityResponseMock.xml`,
27
- ),
28
- },
29
- }]);
30
- await tester.testConnector(HEUREKA_AVAILABILITY_FEED_CONNECTOR);
31
- });
32
- });
@@ -1,32 +0,0 @@
1
- import { container } from '@orchesty/nodejs-connectors/test/TestAbstract';
2
- import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
3
- import { mockOnce } from '@orchesty/nodejs-sdk/dist/test/MockServer';
4
- import NodeTester from '@orchesty/nodejs-sdk/dist/test/Testers/NodeTester';
5
- import { readFileSync } from 'fs';
6
- import init from '../../../test/dataProvider';
7
- import { NAME as HEUREKA_PRODUCT_FEED_CONNECTOR } from '../HeurekaProductFeedConnector';
8
-
9
- let tester: NodeTester;
10
-
11
- describe('Tests for HeurekaProductFeedConnector', () => {
12
- beforeAll(() => {
13
- tester = new NodeTester(container, __filename, false, ['']);
14
- init();
15
- });
16
-
17
- it('process - ok', async () => {
18
- mockOnce([
19
- {
20
- request: {
21
- method: HttpMethods.GET, url: /https:\/\/path\.to\/xml*/,
22
- },
23
- response: {
24
- code: 200,
25
- body: readFileSync(
26
- `${__dirname}/Data/HeurekaProductFeedConnector/heurekaProductResponseMock.xml`,
27
- ),
28
- },
29
- }]);
30
- await tester.testConnector(HEUREKA_PRODUCT_FEED_CONNECTOR);
31
- });
32
- });
@@ -1,70 +0,0 @@
1
- import { ApplicationInstall } from '@orchesty/nodejs-sdk/dist/lib/Application/Database/ApplicationInstall';
2
- import Field from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/Field';
3
- import FieldType from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/FieldType';
4
- import Form from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/Form';
5
- import FormStack from '@orchesty/nodejs-sdk/dist/lib/Application/Model/Form/FormStack';
6
- import { ABasicApplication } from '@orchesty/nodejs-sdk/dist/lib/Authorization/Type/Basic/ABasicApplication';
7
- import RequestDto from '@orchesty/nodejs-sdk/dist/lib/Transport/Curl/RequestDto';
8
- import { HttpMethods } from '@orchesty/nodejs-sdk/dist/lib/Transport/HttpMethods';
9
- import AProcessDto from '@orchesty/nodejs-sdk/dist/lib/Utils/AProcessDto';
10
- import { CommonHeaders } from '@orchesty/nodejs-sdk/dist/lib/Utils/Headers';
11
-
12
- export const NAME = 'heureka-feed';
13
- export const SETTINGS = 'settings-form';
14
- export const PRODUCT_FEED_URL = 'product-feed';
15
- export const AVAILABILITY_FEED_URL = 'availability-feed';
16
-
17
- export default class HeurekaFeedApplication extends ABasicApplication {
18
-
19
- public getName(): string {
20
- return NAME;
21
- }
22
-
23
- public getPublicName(): string {
24
- return 'Heureka feed';
25
- }
26
-
27
- public getDescription(): string {
28
- return 'Heureka is the largest shopping portal and price comparison site on the Czech Internet';
29
- }
30
-
31
- public getLogo(): string {
32
- return 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK4AAACuCAYAAACvDDbuAAAEtmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNS41LjAiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iCiAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIKICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIgogICAgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIKICAgZXhpZjpQaXhlbFhEaW1lbnNpb249IjE3NCIKICAgZXhpZjpQaXhlbFlEaW1lbnNpb249IjE3NCIKICAgZXhpZjpDb2xvclNwYWNlPSIxIgogICB0aWZmOkltYWdlV2lkdGg9IjE3NCIKICAgdGlmZjpJbWFnZUxlbmd0aD0iMTc0IgogICB0aWZmOlJlc29sdXRpb25Vbml0PSIyIgogICB0aWZmOlhSZXNvbHV0aW9uPSIzMDAvMSIKICAgdGlmZjpZUmVzb2x1dGlvbj0iMzAwLzEiCiAgIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiCiAgIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIKICAgeG1wOk1vZGlmeURhdGU9IjIw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';
33
- }
34
-
35
- public getFormStack(): FormStack {
36
- const form = new Form(SETTINGS, 'Feed settings')
37
- .addField(new Field(FieldType.URL, PRODUCT_FEED_URL, 'Product feed url', undefined, true))
38
- .addField(new Field(FieldType.URL, AVAILABILITY_FEED_URL, 'Availability feed url', undefined, true));
39
-
40
- return new FormStack().addForm(form);
41
- }
42
-
43
- public isAuthorized(applicationInstall: ApplicationInstall): boolean {
44
- const productFeed = applicationInstall.getSettings()[SETTINGS][PRODUCT_FEED_URL];
45
- const availabilityFeed = applicationInstall.getSettings()[SETTINGS][AVAILABILITY_FEED_URL];
46
-
47
- return productFeed && availabilityFeed;
48
- }
49
-
50
- public getRequestDto(
51
- dto: AProcessDto,
52
- applicationInstall: ApplicationInstall,
53
- method: HttpMethods,
54
- url?: string,
55
- data?: unknown,
56
- ): RequestDto {
57
- const request = new RequestDto(url ?? '', method, dto);
58
- request.setHeaders({
59
- [CommonHeaders.CONTENT_TYPE]: 'application/xml',
60
- [CommonHeaders.ACCEPT]: 'application/xml',
61
- });
62
-
63
- if (data) {
64
- request.setJsonBody(data);
65
- }
66
-
67
- return request;
68
- }
69
-
70
- }
@@ -1,38 +0,0 @@
1
- import { appInstall, DEFAULT_USER } from '@orchesty/nodejs-connectors/test/DataProvider';
2
- import { container, db, sender } from '@orchesty/nodejs-connectors/test/TestAbstract';
3
- import HeurekaAvailabilityFeedConnector from '../src/Connector/HeurekaAvailabilityFeedConnector';
4
- import HeurekaProductFeedConnector from '../src/Connector/HeurekaProductFeedConnector';
5
- import HeurekaFeedApplication, {
6
- AVAILABILITY_FEED_URL,
7
- NAME,
8
- PRODUCT_FEED_URL,
9
- SETTINGS,
10
- } from '../src/HeurekaFeedApplication';
11
-
12
- export default function init(): void {
13
- appInstall(NAME, DEFAULT_USER, {
14
- [SETTINGS]: {
15
- [PRODUCT_FEED_URL]: 'https://path.to/xml',
16
- [AVAILABILITY_FEED_URL]: 'https://path.to/xml',
17
- },
18
- });
19
-
20
- const app = new HeurekaFeedApplication();
21
- container.setApplication(app);
22
-
23
- const heurekaProductFeedConnector = new HeurekaProductFeedConnector();
24
-
25
- heurekaProductFeedConnector
26
- .setSender(sender)
27
- .setDb(db)
28
- .setApplication(app);
29
- container.setConnector(heurekaProductFeedConnector);
30
-
31
- const heurekaAvailabilityFeedConnector = new HeurekaAvailabilityFeedConnector();
32
-
33
- heurekaAvailabilityFeedConnector
34
- .setSender(sender)
35
- .setDb(db)
36
- .setApplication(app);
37
- container.setConnector(heurekaAvailabilityFeedConnector);
38
- }
package/tsconfig.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "outDir": "./dist",
5
- "composite": true
6
- },
7
- "include": ["src", "test", "../../test"]
8
- }
@@ -1,13 +0,0 @@
1
- {
2
- "extends": "./tsconfig.json",
3
- "compilerOptions": {
4
- "rootDir": "./src",
5
- },
6
- "include": [
7
- "src",
8
- ],
9
- "exclude": [
10
- "node_modules",
11
- "src/**/__tests__",
12
- ]
13
- }