@guardian/google-admanager-api 7.0.0 → 7.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.
- package/CHANGELOG.md +6 -0
- package/dist/__tests__/statementBuilder.spec.js +31 -31
- package/dist/__tests__/statementBuilder.spec.js.map +1 -1
- package/dist/client/services/lineItem/lineItem.struct.test.js +18 -11
- package/dist/client/services/lineItem/lineItem.struct.test.js.map +1 -1
- package/eslint.config.mjs +0 -1
- package/package.json +5 -6
- package/jestconfig.json +0 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
3
8
|
const exceptions_handler_1 = require("../common/handlers/exceptions.handler");
|
|
4
9
|
const utils_1 = require("../common/utils");
|
|
5
|
-
describe("test StatementBuilder", () => {
|
|
6
|
-
it("to statement for pql table", () => {
|
|
10
|
+
(0, node_test_1.describe)("test StatementBuilder", () => {
|
|
11
|
+
(0, node_test_1.it)("to statement for pql table", () => {
|
|
7
12
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
8
13
|
const query = statementBuilder
|
|
9
14
|
.select("Id")
|
|
@@ -13,9 +18,9 @@ describe("test StatementBuilder", () => {
|
|
|
13
18
|
.limit(200)
|
|
14
19
|
.offset(1)
|
|
15
20
|
.toStatement().query;
|
|
16
|
-
|
|
21
|
+
node_assert_1.default.equal(query, "SELECT Id FROM table WHERE a = b AND b = c ORDER BY a ASC, b DESC LIMIT 200 OFFSET 1");
|
|
17
22
|
});
|
|
18
|
-
it("to statement with keywords", () => {
|
|
23
|
+
(0, node_test_1.it)("to statement with keywords", () => {
|
|
19
24
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
20
25
|
const query = statementBuilder
|
|
21
26
|
.select("Id")
|
|
@@ -25,9 +30,9 @@ describe("test StatementBuilder", () => {
|
|
|
25
30
|
.limit(200)
|
|
26
31
|
.offset(1)
|
|
27
32
|
.toStatement().query;
|
|
28
|
-
|
|
33
|
+
node_assert_1.default.equal(query, "SELECT Id FROM table WHERE a = b AND b = c ORDER BY a ASC, b DESC LIMIT 200 OFFSET 1");
|
|
29
34
|
});
|
|
30
|
-
it("to statement not pql table", () => {
|
|
35
|
+
(0, node_test_1.it)("to statement not pql table", () => {
|
|
31
36
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
32
37
|
const query = statementBuilder
|
|
33
38
|
.where("a = b AND b = c")
|
|
@@ -35,67 +40,62 @@ describe("test StatementBuilder", () => {
|
|
|
35
40
|
.limit(200)
|
|
36
41
|
.offset(1)
|
|
37
42
|
.toStatement().query;
|
|
38
|
-
|
|
43
|
+
node_assert_1.default.equal(query, "WHERE a = b AND b = c ORDER BY a ASC, b DESC LIMIT 200 OFFSET 1");
|
|
39
44
|
});
|
|
40
|
-
it("to statement not offset", () => {
|
|
45
|
+
(0, node_test_1.it)("to statement not offset", () => {
|
|
41
46
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
42
47
|
const query = statementBuilder
|
|
43
48
|
.where("a = b AND b = c")
|
|
44
49
|
.orderBy("a ASC, b DESC")
|
|
45
50
|
.limit(200)
|
|
46
51
|
.toStatement().query;
|
|
47
|
-
|
|
52
|
+
node_assert_1.default.equal(query, "WHERE a = b AND b = c ORDER BY a ASC, b DESC LIMIT 200");
|
|
48
53
|
});
|
|
49
|
-
it("to statement just limit", () => {
|
|
54
|
+
(0, node_test_1.it)("to statement just limit", () => {
|
|
50
55
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
51
56
|
const query = statementBuilder.limit(500).toStatement().query;
|
|
52
|
-
|
|
57
|
+
node_assert_1.default.equal(query, "LIMIT 500");
|
|
53
58
|
});
|
|
54
|
-
it("to statement limit and offset", () => {
|
|
59
|
+
(0, node_test_1.it)("to statement limit and offset", () => {
|
|
55
60
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
56
61
|
const query = statementBuilder
|
|
57
62
|
.limit(500)
|
|
58
63
|
.offset(1)
|
|
59
64
|
.where("a = b")
|
|
60
65
|
.orderBy("a");
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
node_assert_1.default.equal(query.toStatement().query, "WHERE a = b ORDER BY a LIMIT 500 OFFSET 1");
|
|
67
|
+
node_assert_1.default.equal(query.removeLimitAndOffset().toStatement().query, "WHERE a = b ORDER BY a");
|
|
63
68
|
});
|
|
64
|
-
it("to statement remove limit and offset", () => {
|
|
69
|
+
(0, node_test_1.it)("to statement remove limit and offset", () => {
|
|
65
70
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
66
71
|
const query = statementBuilder.limit(500).offset(1).toStatement().query;
|
|
67
|
-
|
|
72
|
+
node_assert_1.default.equal(query, "LIMIT 500 OFFSET 1");
|
|
68
73
|
});
|
|
69
|
-
it("to statement not initial offset", () => {
|
|
74
|
+
(0, node_test_1.it)("to statement not initial offset", () => {
|
|
70
75
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
71
76
|
const query = statementBuilder.limit(500).where("a = b").orderBy("a");
|
|
72
|
-
|
|
73
|
-
|
|
77
|
+
node_assert_1.default.equal(query.toStatement().query, "WHERE a = b ORDER BY a LIMIT 500");
|
|
78
|
+
node_assert_1.default.equal(query.increaseOffsetBy(120).toStatement().query, "WHERE a = b ORDER BY a LIMIT 500 OFFSET 120");
|
|
74
79
|
});
|
|
75
|
-
it("to statement with initial offset", () => {
|
|
80
|
+
(0, node_test_1.it)("to statement with initial offset", () => {
|
|
76
81
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
77
82
|
const query = statementBuilder
|
|
78
83
|
.limit(500)
|
|
79
84
|
.offset(10)
|
|
80
85
|
.where("a = b")
|
|
81
86
|
.orderBy("a");
|
|
82
|
-
|
|
83
|
-
|
|
87
|
+
node_assert_1.default.equal(query.toStatement().query, "WHERE a = b ORDER BY a LIMIT 500 OFFSET 10");
|
|
88
|
+
node_assert_1.default.equal(query.increaseOffsetBy(30).toStatement().query, "WHERE a = b ORDER BY a LIMIT 500 OFFSET 40");
|
|
84
89
|
});
|
|
85
|
-
it("to statement empty", () => {
|
|
90
|
+
(0, node_test_1.it)("to statement empty", () => {
|
|
86
91
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
87
92
|
const query = statementBuilder.toStatement().query;
|
|
88
|
-
|
|
93
|
+
node_assert_1.default.equal(query, "");
|
|
89
94
|
});
|
|
90
|
-
it("to statement offset without limit", () => {
|
|
95
|
+
(0, node_test_1.it)("to statement offset without limit", () => {
|
|
91
96
|
const statementBuilder = new utils_1.StatementBuilder();
|
|
92
97
|
const query = statementBuilder.offset(500);
|
|
93
|
-
|
|
94
|
-
query.toStatement();
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
expect(error).toBeInstanceOf(exceptions_handler_1.InvalidOperationException);
|
|
98
|
-
}
|
|
98
|
+
node_assert_1.default.throws(() => query.toStatement(), exceptions_handler_1.InvalidOperationException);
|
|
99
99
|
});
|
|
100
100
|
});
|
|
101
101
|
//# sourceMappingURL=statementBuilder.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"statementBuilder.spec.js","sourceRoot":"","sources":["../../lib/__tests__/statementBuilder.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"statementBuilder.spec.js","sourceRoot":"","sources":["../../lib/__tests__/statementBuilder.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const node_test_1 = require("node:test");
|
|
7
|
+
const node_assert_1 = __importDefault(require("node:assert"));
|
|
3
8
|
const lineItem_struct_1 = require("./lineItem.struct");
|
|
4
9
|
const line_items_1 = require("../../../fixtures/line-items");
|
|
5
|
-
describe("LineItemStruct", () => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
(0, node_test_1.describe)("LineItemStruct", () => {
|
|
11
|
+
line_items_1.lineItems.map((lineItem) => {
|
|
12
|
+
(0, node_test_1.it)("should validate a valid object", () => {
|
|
13
|
+
try {
|
|
14
|
+
lineItem_struct_1.LineItemStruct.assert(lineItem);
|
|
15
|
+
}
|
|
16
|
+
catch (error) {
|
|
17
|
+
console.log(error);
|
|
18
|
+
node_assert_1.default.equal(error, undefined);
|
|
19
|
+
}
|
|
20
|
+
});
|
|
14
21
|
});
|
|
15
|
-
it("should throw an error for an invalid object", () => {
|
|
22
|
+
(0, node_test_1.it)("should throw an error for an invalid object", () => {
|
|
16
23
|
const invalidLineItem = Object.assign(Object.assign({}, line_items_1.lineItems[0]), { creativePlaceholders: [
|
|
17
24
|
Object.assign(Object.assign({}, line_items_1.lineItems[0].creativePlaceholders[0]), { size: Object.assign(Object.assign({}, line_items_1.lineItems[0].creativePlaceholders[0].size), { width: "not a number" }) }),
|
|
18
25
|
] });
|
|
19
|
-
|
|
26
|
+
node_assert_1.default.throws(() => lineItem_struct_1.LineItemStruct.assert(invalidLineItem));
|
|
20
27
|
});
|
|
21
28
|
});
|
|
22
29
|
//# sourceMappingURL=lineItem.struct.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineItem.struct.test.js","sourceRoot":"","sources":["../../../../lib/client/services/lineItem/lineItem.struct.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lineItem.struct.test.js","sourceRoot":"","sources":["../../../../lib/client/services/lineItem/lineItem.struct.test.ts"],"names":[],"mappings":";;;;;AAAA,yCAAyC;AACzC,8DAAiC;AACjC,uDAAmD;AACnD,6DAAyD;AAEzD,IAAA,oBAAQ,EAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,sBAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzB,IAAA,cAAE,EAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,IAAI,CAAC;gBACH,gCAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAEnB,qBAAM,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,IAAA,cAAE,EAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,eAAe,mCAChB,sBAAS,CAAC,CAAC,CAAC,KACf,oBAAoB,EAAE;gDAEf,sBAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,KACvC,IAAI,kCACC,sBAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,KAC5C,KAAK,EAAE,cAAc;aAG1B,GACF,CAAC;QAEF,qBAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,gCAAc,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/eslint.config.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guardian/google-admanager-api",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"description": "Google Ad Manager API Client Library for NodeJs",
|
|
5
5
|
"main": "dist/index",
|
|
6
6
|
"types": "dist/index",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
],
|
|
26
26
|
"homepage": "https://github.com/guardian/google-admanager-api#readme",
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"axios": "1.
|
|
28
|
+
"axios": "1.15.0",
|
|
29
29
|
"google-auth-library": "10.6.1",
|
|
30
30
|
"soap": "1.8.0",
|
|
31
31
|
"superstruct": "2.0.2"
|
|
@@ -34,16 +34,15 @@
|
|
|
34
34
|
"@changesets/cli": "^2.30.0",
|
|
35
35
|
"@guardian/eslint-config": "^14.0.0",
|
|
36
36
|
"@guardian/prettier": "^10.0.0",
|
|
37
|
-
"@types/jest": "^30.0.0",
|
|
38
37
|
"@types/node": "^25.3.3",
|
|
39
38
|
"eslint": "^9.39.3",
|
|
40
|
-
"
|
|
39
|
+
"glob-bin": "^1.1.0",
|
|
41
40
|
"open": "^11.0.0",
|
|
42
41
|
"prettier": "^3.8.1",
|
|
43
42
|
"server-destroy": "^1.0.1",
|
|
44
|
-
"ts-jest": "^29.4.6",
|
|
45
43
|
"ts-node": "^10.9.2",
|
|
46
44
|
"tsconfig-paths": "^4.2.0",
|
|
45
|
+
"tsx": "^4.21.0",
|
|
47
46
|
"typescript": "5.9.3"
|
|
48
47
|
},
|
|
49
48
|
"keywords": [
|
|
@@ -60,6 +59,6 @@
|
|
|
60
59
|
"lint": "eslint 'lib/**/*.ts'",
|
|
61
60
|
"prettier:check": "prettier . --check --cache",
|
|
62
61
|
"prettier:fix": "prettier . --write --cache",
|
|
63
|
-
"test": "
|
|
62
|
+
"test": "glob -c \"STAGE=TEST tsx --test --test-reporter spec \" \"**/*.{test,spec}.ts\""
|
|
64
63
|
}
|
|
65
64
|
}
|