playwright-slack-report 1.1.98 → 1.1.99
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.
|
@@ -6,7 +6,9 @@ export type additionalInfo = Array<{
|
|
|
6
6
|
}>;
|
|
7
7
|
export default class SlackClient {
|
|
8
8
|
private slackWebClient;
|
|
9
|
+
private static readonly MAX_BLOCKS_PER_MESSAGE;
|
|
9
10
|
constructor(slackClient: WebClient);
|
|
11
|
+
private static chunkBlocks;
|
|
10
12
|
sendMessage({ options, }: {
|
|
11
13
|
options: {
|
|
12
14
|
channelIds: Array<string>;
|
package/dist/src/SlackClient.js
CHANGED
|
@@ -3,9 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const LayoutGenerator_1 = require("./LayoutGenerator");
|
|
4
4
|
class SlackClient {
|
|
5
5
|
slackWebClient;
|
|
6
|
+
static MAX_BLOCKS_PER_MESSAGE = 50;
|
|
6
7
|
constructor(slackClient) {
|
|
7
8
|
this.slackWebClient = slackClient;
|
|
8
9
|
}
|
|
10
|
+
static chunkBlocks(blocks, chunkSize = SlackClient.MAX_BLOCKS_PER_MESSAGE) {
|
|
11
|
+
const chunks = [];
|
|
12
|
+
for (let i = 0; i < blocks.length; i += chunkSize) {
|
|
13
|
+
chunks.push(blocks.slice(i, i + chunkSize));
|
|
14
|
+
}
|
|
15
|
+
return chunks;
|
|
16
|
+
}
|
|
9
17
|
async sendMessage({ options, }) {
|
|
10
18
|
let blocks;
|
|
11
19
|
let threadedBlocks = [];
|
|
@@ -78,17 +86,20 @@ class SlackClient {
|
|
|
78
86
|
}
|
|
79
87
|
}
|
|
80
88
|
if (threadedBlocks.length > 0) {
|
|
89
|
+
const threadedBlockChunks = SlackClient.chunkBlocks(threadedBlocks);
|
|
81
90
|
for (let i = 0; i < result.length; i += 1) {
|
|
82
91
|
const threadTs = result[i].ts;
|
|
83
92
|
try {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
93
|
+
for (const chunk of threadedBlockChunks) {
|
|
94
|
+
if (options.fakeRequest) {
|
|
95
|
+
await options.fakeRequest();
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
await SlackClient.doPostRequest(this.slackWebClient, result[i].channel, fallbackText, chunk, unfurl, threadTs);
|
|
99
|
+
}
|
|
89
100
|
}
|
|
90
101
|
// eslint-disable-next-line no-console
|
|
91
|
-
console.log(`✅ Threaded
|
|
102
|
+
console.log(`✅ Threaded messages sent to ${result[i].channel} (${threadedBlockChunks.length} message${threadedBlockChunks.length > 1 ? 's' : ''})`);
|
|
92
103
|
}
|
|
93
104
|
catch (error) {
|
|
94
105
|
// eslint-disable-next-line no-console
|
|
@@ -105,22 +116,37 @@ class SlackClient {
|
|
|
105
116
|
return result;
|
|
106
117
|
}
|
|
107
118
|
const fallbackText = (0, LayoutGenerator_1.generateFallbackText)(summaryResults);
|
|
119
|
+
const blockChunks = SlackClient.chunkBlocks(blocks);
|
|
108
120
|
for (const channel of channelIds) {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
121
|
+
try {
|
|
122
|
+
for (const chunk of blockChunks) {
|
|
123
|
+
// under test
|
|
124
|
+
let chatResponse;
|
|
125
|
+
if (fakeRequest) {
|
|
126
|
+
chatResponse = await fakeRequest();
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
chatResponse = await SlackClient.doPostRequest(this.slackWebClient, channel, fallbackText, chunk, disableUnfurl, ts);
|
|
130
|
+
}
|
|
131
|
+
if (chatResponse.ok) {
|
|
132
|
+
// eslint-disable-next-line no-console
|
|
133
|
+
console.log(`✅ Message sent to ${channel} within thread ${ts}`);
|
|
134
|
+
result.push({
|
|
135
|
+
channel,
|
|
136
|
+
outcome: `✅ Message sent to ${channel} within thread ${ts}`,
|
|
137
|
+
ts: chatResponse.ts,
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
// eslint-disable-next-line no-console
|
|
142
|
+
console.log(`✅ All failure details sent to ${channel} within thread ${ts} (${blockChunks.length} message${blockChunks.length > 1 ? 's' : ''})`);
|
|
116
143
|
}
|
|
117
|
-
|
|
144
|
+
catch (error) {
|
|
118
145
|
// eslint-disable-next-line no-console
|
|
119
|
-
console.
|
|
146
|
+
console.error(`❌ Failed to send failure details to ${channel} within thread ${ts}: ${error.message}`);
|
|
120
147
|
result.push({
|
|
121
148
|
channel,
|
|
122
|
-
outcome:
|
|
123
|
-
ts: chatResponse.ts,
|
|
149
|
+
outcome: `❌ Failed to send failure details to ${channel} within thread ${ts}: ${error.message}`,
|
|
124
150
|
});
|
|
125
151
|
}
|
|
126
152
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackClient.js","sourceRoot":"","sources":["../../src/SlackClient.ts"],"names":[],"mappings":";;AAYA,uDAI2B;AAI3B,MAAqB,WAAW;IACtB,cAAc,CAAY;
|
|
1
|
+
{"version":3,"file":"SlackClient.js","sourceRoot":"","sources":["../../src/SlackClient.ts"],"names":[],"mappings":";;AAYA,uDAI2B;AAI3B,MAAqB,WAAW;IACtB,cAAc,CAAY;IAE1B,MAAM,CAAU,sBAAsB,GAAG,EAAE,CAAC;IAEpD,YAAY,WAAsB;QAChC,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC;IACpC,CAAC;IAEO,MAAM,CAAC,WAAW,CACxB,MAA8B,EAC9B,YAAoB,WAAW,CAAC,sBAAsB;QAEtD,MAAM,MAAM,GAA6B,EAAE,CAAC;QAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YAClD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAChB,OAAO,GAeR;QACC,IAAI,MAA8B,CAAC;QACnC,IAAI,cAAc,GAA2B,EAAE,CAAC;QAChD,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC/D,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC;gBAC/C,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,kCAAkC,CAAC,CAAC;gBACxE,cAAc,GAAG,SAAS,CAAC,KAAK,CAC9B,OAAO,CAAC,kCAAkC,EAC1C,SAAS,CAAC,MAAM,CACjB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;YACrC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAC1E,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC;gBAC/C,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,kCAAkC,CAAC,CAAC;gBACxE,cAAc,GAAG,SAAS,CAAC,KAAK,CAC9B,OAAO,CAAC,kCAAkC,EAC1C,SAAS,CAAC,MAAM,CACjB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAChC,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;YAC5D,eAAe,CAAC,cAAc,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC7C,MAAM,GAAG,MAAM,IAAA,gCAAc,EAC3B,eAAe,CAAC,cAAc,EAC9B,OAAO,CAAC,mBAAmB,CAC5B,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,MAAM,IAAA,gCAAc,EAC3B,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,mBAAmB,CAC5B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,UAAU,gBAAgB,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,YAAY,GAAG,IAAA,sCAAoB,EAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,MAAM,GAAY,CAAC,OAAO,CAAC,aAAa,CAAC;QAC/C,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,YAAqC,CAAC;YAC1C,IAAI,CAAC;gBACH,aAAa;gBACb,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;oBACxB,YAAY,GAAG,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC7C,CAAC;qBAAM,CAAC;oBACN,yBAAyB;oBACzB,YAAY,GAAG,MAAM,WAAW,CAAC,aAAa,CAC5C,IAAI,CAAC,cAAc,EACnB,OAAO,EACP,YAAY,EACZ,MAAM,EACN,MAAM,CACP,CAAC;gBACJ,CAAC;gBACD,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;oBACpB,MAAM,CAAC,IAAI,CAAC;wBACV,OAAO;wBACP,OAAO,EAAE,qBAAqB,OAAO,EAAE;wBACvC,EAAE,EAAE,YAAY,CAAC,EAAE;qBACpB,CAAC,CAAC;oBACH,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,EAAE,CAAC,CAAC;gBAC9C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC;wBACV,OAAO;wBACP,OAAO,EAAE,yBAAyB,OAAO,SAAS,IAAI,CAAC,SAAS,CAC9D,YAAY,EACZ,IAAI,EACJ,CAAC,CACF,EAAE;qBACJ,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO;oBACP,OAAO,EAAE,yBAAyB,OAAO,SAAS,KAAK,CAAC,OAAO,EAAE;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,mBAAmB,GAAG,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9B,IAAI,CAAC;oBACH,KAAK,MAAM,KAAK,IAAI,mBAAmB,EAAE,CAAC;wBACxC,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;4BACxB,MAAM,OAAO,CAAC,WAAW,EAAE,CAAC;wBAC9B,CAAC;6BAAM,CAAC;4BACN,MAAM,WAAW,CAAC,aAAa,CAC7B,IAAI,CAAC,cAAc,EACnB,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,EACjB,YAAY,EACZ,KAAK,EACL,MAAM,EACN,QAAQ,CACT,CAAC;wBACJ,CAAC;oBACH,CAAC;oBACD,sCAAsC;oBACtC,OAAO,CAAC,GAAG,CACT,+BAA+B,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,mBAAmB,CAAC,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CACvI,CAAC;gBACJ,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,sCAAsC;oBACtC,OAAO,CAAC,KAAK,CACX,wCAAwC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAC9E,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,EAC1B,UAAU,EACV,EAAE,EACF,cAAc,EACd,mBAAmB,EACnB,aAAa,EACb,WAAW,GAQZ;QACC,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,MAAM,IAAA,kCAAgB,EAAC,cAAc,EAAE,mBAAmB,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,YAAY,GAAG,IAAA,sCAAoB,EAAC,cAAc,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAEpD,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;YACjC,IAAI,CAAC;gBACH,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;oBAChC,aAAa;oBACb,IAAI,YAAqC,CAAC;oBAC1C,IAAI,WAAW,EAAE,CAAC;wBAChB,YAAY,GAAG,MAAM,WAAW,EAAE,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,MAAM,WAAW,CAAC,aAAa,CAC5C,IAAI,CAAC,cAAc,EACnB,OAAO,EACP,YAAY,EACZ,KAAK,EACL,aAAa,EACb,EAAE,CACH,CAAC;oBACJ,CAAC;oBACD,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;wBACpB,sCAAsC;wBACtC,OAAO,CAAC,GAAG,CAAC,qBAAqB,OAAO,kBAAkB,EAAE,EAAE,CAAC,CAAC;wBAChE,MAAM,CAAC,IAAI,CAAC;4BACV,OAAO;4BACP,OAAO,EAAE,qBAAqB,OAAO,kBAAkB,EAAE,EAAE;4BAC3D,EAAE,EAAE,YAAY,CAAC,EAAE;yBACpB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CACT,iCAAiC,OAAO,kBAAkB,EAAE,KAAK,WAAW,CAAC,MAAM,WAAW,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CACnI,CAAC;YACJ,CAAC;YAAC,OAAO,KAAU,EAAE,CAAC;gBACpB,sCAAsC;gBACtC,OAAO,CAAC,KAAK,CACX,uCAAuC,OAAO,kBAAkB,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE,CACvF,CAAC;gBACF,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO;oBACP,OAAO,EAAE,uCAAuC,OAAO,kBAAkB,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;iBAChG,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,aAAa,CACxB,cAAyB,EACzB,OAAe,EACf,YAAoB,EACpB,MAAiC,EACjC,MAAe,EACf,eAAwB;QAExB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC;YACzD,OAAO;YACP,IAAI,EAAE,YAAY;YAClB,YAAY,EAAE,MAAM;YACpB,MAAM;YACN,SAAS,EAAE,eAAe;SAC3B,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;;AAjPH,8BAkPC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dependencies": {
|
|
3
|
-
"@slack/web-api": "^7.9.
|
|
3
|
+
"@slack/web-api": "^7.9.3",
|
|
4
4
|
"@slack/webhook": "^7.0.5",
|
|
5
5
|
"commander": "^14.0.0",
|
|
6
6
|
"https-proxy-agent": "^7.0.6",
|
|
@@ -10,19 +10,19 @@
|
|
|
10
10
|
"devDependencies": {
|
|
11
11
|
"@playwright/test": "^1.53.1",
|
|
12
12
|
"@slack/types": "^2.14.0",
|
|
13
|
-
"@types/node": ">=24.0.
|
|
13
|
+
"@types/node": ">=24.0.13",
|
|
14
14
|
"@typescript-eslint/eslint-plugin": "^5.30.6",
|
|
15
15
|
"@typescript-eslint/parser": "^5.30.6",
|
|
16
|
-
"dotenv": "^
|
|
16
|
+
"dotenv": "^17.0.1",
|
|
17
17
|
"eslint": "^7.32.0 || ^8.2.0",
|
|
18
18
|
"eslint-config-airbnb-base": "^15.0.0",
|
|
19
19
|
"eslint-config-node": "^4.1.0",
|
|
20
20
|
"eslint-config-prettier": "^10.1.5",
|
|
21
21
|
"eslint-plugin-import": "^2.32.0",
|
|
22
22
|
"eslint-plugin-node": "^11.1.0",
|
|
23
|
-
"eslint-plugin-prettier": "^5.5.
|
|
23
|
+
"eslint-plugin-prettier": "^5.5.1",
|
|
24
24
|
"nyc": "^17.1.0",
|
|
25
|
-
"prettier": "^3.
|
|
25
|
+
"prettier": "^3.6.2",
|
|
26
26
|
"ts-sinon": "^2.0.2",
|
|
27
27
|
"typescript": "^5.8.3"
|
|
28
28
|
},
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"cli-debug": "yarn build && npx . -c ./cli_config.json -j ./tests/test_data/valid_test_results.json"
|
|
37
37
|
},
|
|
38
38
|
"name": "playwright-slack-report",
|
|
39
|
-
"version": "1.1.
|
|
39
|
+
"version": "1.1.99",
|
|
40
40
|
"bin": {
|
|
41
41
|
"playwright-slack-report": "dist/cli.js"
|
|
42
42
|
},
|