github-issue-tower-defence-management 1.42.2 → 1.42.4
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/.github/workflows/create-pr.yml +1 -10
- package/.github/workflows/umino-project.yml +11 -4
- package/CHANGELOG.md +15 -0
- package/bin/adapter/repositories/GoogleSpreadsheetRepository.js +25 -21
- package/bin/adapter/repositories/GoogleSpreadsheetRepository.js.map +1 -1
- package/bin/domain/usecases/StartPreparationUseCase.js +6 -1
- package/bin/domain/usecases/StartPreparationUseCase.js.map +1 -1
- package/package.json +3 -3
- package/src/adapter/repositories/GoogleSpreadsheetRepository.integration.test.ts +120 -0
- package/src/adapter/repositories/GoogleSpreadsheetRepository.test.ts +273 -71
- package/src/adapter/repositories/GoogleSpreadsheetRepository.ts +82 -20
- package/src/domain/usecases/StartPreparationUseCase.test.ts +160 -48
- package/src/domain/usecases/StartPreparationUseCase.ts +16 -2
- package/types/adapter/repositories/GoogleSpreadsheetRepository.d.ts +67 -1
- package/types/adapter/repositories/GoogleSpreadsheetRepository.d.ts.map +1 -1
- package/types/domain/usecases/StartPreparationUseCase.d.ts +1 -1
- package/types/domain/usecases/StartPreparationUseCase.d.ts.map +1 -1
|
@@ -12,7 +12,7 @@ jobs:
|
|
|
12
12
|
steps:
|
|
13
13
|
- name: Generate hs-bot-gh-ap installation token
|
|
14
14
|
id: app-token
|
|
15
|
-
uses: actions/create-github-app-token@
|
|
15
|
+
uses: actions/create-github-app-token@v3
|
|
16
16
|
with:
|
|
17
17
|
app-id: ${{ secrets.HS_BOT_GH_AP_APP_ID }}
|
|
18
18
|
private-key: ${{ secrets.HS_BOT_GH_AP_PRIVATE_KEY }}
|
|
@@ -57,15 +57,6 @@ jobs:
|
|
|
57
57
|
env:
|
|
58
58
|
GH_TOKEN: ${{ steps.app-token.outputs.token }}
|
|
59
59
|
|
|
60
|
-
- name: Assign PR to author
|
|
61
|
-
if: steps.resolve_pr.outputs.pr_number
|
|
62
|
-
run: |
|
|
63
|
-
curl -s -X POST \
|
|
64
|
-
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
|
65
|
-
-H "Accept: application/vnd.github.v3+json" \
|
|
66
|
-
-d '{"assignees":["${{ github.actor }}"]}' \
|
|
67
|
-
"https://api.github.com/repos/${{ github.repository }}/issues/${{ steps.resolve_pr.outputs.pr_number }}/assignees"
|
|
68
|
-
|
|
69
60
|
- name: Get PR Node ID
|
|
70
61
|
if: steps.resolve_pr.outputs.pr_number
|
|
71
62
|
id: get_pr_id
|
|
@@ -194,11 +194,18 @@ jobs:
|
|
|
194
194
|
issue_number: context.issue.number,
|
|
195
195
|
assignees: [assigneeName]
|
|
196
196
|
});
|
|
197
|
-
- name: Auto assign issue
|
|
197
|
+
- name: Auto assign issue to owner
|
|
198
198
|
if: >-
|
|
199
|
-
github.event_name == 'issues' &&
|
|
200
|
-
github.event.action == 'opened'
|
|
201
|
-
|
|
199
|
+
github.event_name == 'issues' &&
|
|
200
|
+
github.event.action == 'opened'
|
|
201
|
+
uses: pozil/auto-assign-issue@v3.0.0
|
|
202
|
+
with:
|
|
203
|
+
assignees: HiromiShikata
|
|
204
|
+
repo-token: ${{ secrets.GH_TOKEN }}
|
|
205
|
+
- name: Auto assign PR to owner
|
|
206
|
+
if: >-
|
|
207
|
+
github.event_name == 'pull_request' &&
|
|
208
|
+
github.event.action == 'opened'
|
|
202
209
|
uses: pozil/auto-assign-issue@v3.0.0
|
|
203
210
|
with:
|
|
204
211
|
assignees: HiromiShikata
|
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,18 @@
|
|
|
1
|
+
## [1.42.4](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.42.3...v1.42.4) (2026-05-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **core:** mock Google Sheets API in tests to prevent quota exceeded CI failures ([12fb71a](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/12fb71a696ad3f0b5a5248ec42ae02f677b276b2)), closes [#379](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/379)
|
|
7
|
+
* **test:** mock Google Sheets API to prevent quota exceeded flakiness ([94266bf](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/94266bf83792313e3fe2e1be474500adc3f65fd1)), closes [#373](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/373) [#379](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/issues/379)
|
|
8
|
+
|
|
9
|
+
## [1.42.3](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.42.2...v1.42.3) (2026-05-11)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **core:** persist Preparation status via updateStatus in StartPreparationUseCase ([8335c0e](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/commit/8335c0e705a9d528e89177edb80c9f4e811bc3f4))
|
|
15
|
+
|
|
1
16
|
## [1.42.2](https://github.com/HiromiShikata/npm-cli-github-issue-tower-defence-management/compare/v1.42.1...v1.42.2) (2026-05-09)
|
|
2
17
|
|
|
3
18
|
|
|
@@ -9,7 +9,7 @@ const dotenv_1 = __importDefault(require("dotenv"));
|
|
|
9
9
|
dotenv_1.default.config();
|
|
10
10
|
class GoogleSpreadsheetRepository {
|
|
11
11
|
constructor(localStorageRepository, serviceAccountKey = process.env.GOOGLE_SERVICE_ACCOUNT_KEY ||
|
|
12
|
-
'dummy') {
|
|
12
|
+
'dummy', sheetsClientFactory) {
|
|
13
13
|
this.localStorageRepository = localStorageRepository;
|
|
14
14
|
this.keyFile = './tmp/service-account-key.json';
|
|
15
15
|
this.getSpreadsheetId = (spreadsheetUrl) => {
|
|
@@ -17,11 +17,7 @@ class GoogleSpreadsheetRepository {
|
|
|
17
17
|
return url.pathname.split('/')[3];
|
|
18
18
|
};
|
|
19
19
|
this.getSheet = async (spreadsheetUrl, sheetName) => {
|
|
20
|
-
const
|
|
21
|
-
keyFile: this.keyFile,
|
|
22
|
-
scopes: ['https://www.googleapis.com/auth/spreadsheets'],
|
|
23
|
-
});
|
|
24
|
-
const sheets = googleapis_1.google.sheets({ version: 'v4', auth });
|
|
20
|
+
const sheets = this.sheetsClient;
|
|
25
21
|
const spreadsheetId = this.getSpreadsheetId(spreadsheetUrl);
|
|
26
22
|
const responseSheet = await sheets.spreadsheets.get({
|
|
27
23
|
spreadsheetId,
|
|
@@ -46,11 +42,7 @@ class GoogleSpreadsheetRepository {
|
|
|
46
42
|
return response.data.values.map((row) => row.map((cell) => String(cell)));
|
|
47
43
|
};
|
|
48
44
|
this.updateCell = async (spreadsheetUrl, sheetName, row, column, value) => {
|
|
49
|
-
const
|
|
50
|
-
keyFile: this.keyFile,
|
|
51
|
-
scopes: ['https://www.googleapis.com/auth/spreadsheets'],
|
|
52
|
-
});
|
|
53
|
-
const sheets = googleapis_1.google.sheets({ version: 'v4', auth });
|
|
45
|
+
const sheets = this.sheetsClient;
|
|
54
46
|
const spreadsheetId = this.getSpreadsheetId(spreadsheetUrl);
|
|
55
47
|
await this.createNewSheetIfNotExists(spreadsheetUrl, sheetName);
|
|
56
48
|
const response = await sheets.spreadsheets.values.update({
|
|
@@ -66,11 +58,7 @@ class GoogleSpreadsheetRepository {
|
|
|
66
58
|
}
|
|
67
59
|
};
|
|
68
60
|
this.createNewSheetIfNotExists = async (spreadsheetUrl, sheetName) => {
|
|
69
|
-
const
|
|
70
|
-
keyFile: this.keyFile,
|
|
71
|
-
scopes: ['https://www.googleapis.com/auth/spreadsheets'],
|
|
72
|
-
});
|
|
73
|
-
const sheets = googleapis_1.google.sheets({ version: 'v4', auth });
|
|
61
|
+
const sheets = this.sheetsClient;
|
|
74
62
|
const spreadsheetId = this.getSpreadsheetId(spreadsheetUrl);
|
|
75
63
|
const sheet = await this.getSheet(spreadsheetUrl, sheetName);
|
|
76
64
|
if (sheet !== null) {
|
|
@@ -95,11 +83,7 @@ class GoogleSpreadsheetRepository {
|
|
|
95
83
|
}
|
|
96
84
|
};
|
|
97
85
|
this.appendSheetValues = async (spreadsheetUrl, sheetName, values) => {
|
|
98
|
-
const
|
|
99
|
-
keyFile: this.keyFile,
|
|
100
|
-
scopes: ['https://www.googleapis.com/auth/spreadsheets'],
|
|
101
|
-
});
|
|
102
|
-
const sheets = googleapis_1.google.sheets({ version: 'v4', auth });
|
|
86
|
+
const sheets = this.sheetsClient;
|
|
103
87
|
const spreadsheetId = this.getSpreadsheetId(spreadsheetUrl);
|
|
104
88
|
await this.createNewSheetIfNotExists(spreadsheetUrl, sheetName);
|
|
105
89
|
const sheet = await this.getSheet(spreadsheetUrl, sheetName);
|
|
@@ -117,6 +101,26 @@ class GoogleSpreadsheetRepository {
|
|
|
117
101
|
}
|
|
118
102
|
};
|
|
119
103
|
this.localStorageRepository.write(this.keyFile, serviceAccountKey);
|
|
104
|
+
this.sheetsClient = sheetsClientFactory
|
|
105
|
+
? sheetsClientFactory()
|
|
106
|
+
: (() => {
|
|
107
|
+
const auth = new googleapis_1.google.auth.GoogleAuth({
|
|
108
|
+
keyFile: this.keyFile,
|
|
109
|
+
scopes: ['https://www.googleapis.com/auth/spreadsheets'],
|
|
110
|
+
});
|
|
111
|
+
const googleSheets = googleapis_1.google.sheets({ version: 'v4', auth });
|
|
112
|
+
return {
|
|
113
|
+
spreadsheets: {
|
|
114
|
+
get: (params) => googleSheets.spreadsheets.get(params),
|
|
115
|
+
values: {
|
|
116
|
+
get: (params) => googleSheets.spreadsheets.values.get(params),
|
|
117
|
+
update: (params) => googleSheets.spreadsheets.values.update(params),
|
|
118
|
+
append: (params) => googleSheets.spreadsheets.values.append(params),
|
|
119
|
+
},
|
|
120
|
+
batchUpdate: (params) => googleSheets.spreadsheets.batchUpdate(params),
|
|
121
|
+
},
|
|
122
|
+
};
|
|
123
|
+
})();
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
126
|
exports.GoogleSpreadsheetRepository = GoogleSpreadsheetRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GoogleSpreadsheetRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/GoogleSpreadsheetRepository.ts"],"names":[],"mappings":";;;;;;AACA,2CAAoC;AAEpC,oDAA4B;AAC5B,gBAAM,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"GoogleSpreadsheetRepository.js","sourceRoot":"","sources":["../../../src/adapter/repositories/GoogleSpreadsheetRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,11 @@ class StartPreparationUseCase {
|
|
|
37
37
|
project = await this.projectRepository.prepareStatus(params.preparationStatus, project);
|
|
38
38
|
const storyObjectMap = await this.issueRepository.getStoryObjectMap(project);
|
|
39
39
|
const allIssues = await this.issueRepository.getAllOpened(project);
|
|
40
|
+
const preparationStatusOption = project.status.statuses.find((s) => s.name === params.preparationStatus);
|
|
41
|
+
if (!preparationStatusOption) {
|
|
42
|
+
console.error(`Preparation status option '${params.preparationStatus}' not found in project.`);
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
40
45
|
const awaitingWorkspaceIssues = Array.from(storyObjectMap.values())
|
|
41
46
|
.map((storyObject) => storyObject.issues)
|
|
42
47
|
.flat()
|
|
@@ -120,8 +125,8 @@ class StartPreparationUseCase {
|
|
|
120
125
|
console.error(`Skipping issue ${issue.url}: branch name contains unexpected characters: ${branchName}`);
|
|
121
126
|
continue;
|
|
122
127
|
}
|
|
128
|
+
await this.issueRepository.updateStatus(project, issue, preparationStatusOption.id);
|
|
123
129
|
issue.status = params.preparationStatus;
|
|
124
|
-
await this.issueRepository.update(issue, project);
|
|
125
130
|
const awArgs = [
|
|
126
131
|
issue.url,
|
|
127
132
|
agent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":";;;AAKA,MAAa,uBAAuB;IAClC,YACmB,iBAGhB,EACgB,eAOhB,EACgB,gBAAoD,EACpD,kBAAsC;QAbtC,sBAAiB,GAAjB,iBAAiB,CAGjC;QACgB,oBAAe,GAAf,eAAe,CAO/B;QACgB,qBAAgB,GAAhB,gBAAgB,CAAoC;QACpD,uBAAkB,GAAlB,kBAAkB,CAAoB;QAGzD,QAAG,GAAG,KAAK,EAAE,MAYZ,EAAiB,EAAE;YAClB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5D,MAAM,iBAAiB,GAAG,GAAG,CAAC;YAC9B,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAC5C,CAAC;YACF,IACE,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,8BAA8B,CACtE,EACD,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,6DAA6D,CAC9D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC;YAE1E,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAC5C,CAAC;YACF,IACE,YAAY,CAAC,MAAM,GAAG,CAAC;gBACvB,MAAM,CAAC,8BAA8B,GAAG,GAAG,EAC3C,CAAC;gBACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAC5D,CAAC;gBACF,IAAI,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,EAAE,CAAC;oBACjE,MAAM,oCAAoC,GACxC,CAAC,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;wBAC9D,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;oBAChD,2BAA2B,GAAG,IAAI,CAAC,KAAK,CACtC,2BAA2B;wBACzB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,oCAAoC,EAAE,CAAC,CAAC,CACxD,CAAC;oBACF,IAAI,2BAA2B,IAAI,CAAC,EAAE,CAAC;wBACrC,OAAO,CAAC,IAAI,CACV,wBAAwB,oBAAoB,yBAAyB,MAAM,CAAC,8BAA8B,oCAAoC,CAC/I,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,OAAO,CAAC,IAAI,CACV,wBAAwB,oBAAoB,yBAAyB,MAAM,CAAC,8BAA8B,+CAA+C,2BAA2B,GAAG,CACxL,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAClD,MAAM,CAAC,uBAAuB,EAC9B,OAAO,CACR,CAAC;YACF,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAClD,MAAM,CAAC,iBAAiB,EACxB,OAAO,CACR,CAAC;YACF,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAEnE,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;iBAChE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;iBACxC,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,uBAAuB,CAAC;iBAClE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,4BAA4B,GAAG,SAAS,CAAC,MAAM,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,CACrD,CAAC,MAAM,CAAC;YACT,IAAI,mCAAmC,GAAG,4BAA4B,CAAC;YACvE,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,IAAI,CACzB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,CACd,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,IAAI,CAC5B,UAAU,CAAC,WAAW,EAAE,EACxB,UAAU,CAAC,QAAQ,EAAE,EACrB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CACzB,CAAC;YAEF,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,uBAAuB,CAAC,MAAM;gBAClC,mCAAmC,GAAG,2BAA2B,EACjE,CAAC,EAAE,EACH,CAAC;gBACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,SAAS;gBACX,CAAC;gBACD,IACE,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC7B,KAAK,CAAC,cAAc,IAAI,aAAa,EACrC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBACxE,SAAS;gBACX,CAAC;gBACD,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,KAAK,CAAC,MAAM,KAAK,EAAE;oBACnB,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAClD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE;oBACT,KAAK,CAAC,MAAM;yBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBACvD,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;yBACzB,IAAI,EAAE;oBACT,MAAM,CAAC,mBAAmB;oBAC1B,MAAM,CAAC,gBAAgB,CAAC;gBAC1B,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,CAAC,GAAG,6DAA6D,CAC5G,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,UAAkB,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,wBAAwB,KAAK,CAAC,GAAG,gCAAgC,CAClE,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,GAAG,+BAA+B,CAAC,CAAC;wBACtE,SAAS;oBACX,CAAC;oBACD,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC9D,KAAK,CAAC,GAAG,CACV,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,MAAM,sCAAsC,CACxF,CAAC;wBACF,SAAS;oBACX,CAAC;yBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BACtC,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,gDAAgD,CAC5E,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,KAAK,CACX,kBAAkB,KAAK,CAAC,GAAG,iDAAiD,UAAU,EAAE,CACzF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,
|
|
1
|
+
{"version":3,"file":"StartPreparationUseCase.js","sourceRoot":"","sources":["../../../src/domain/usecases/StartPreparationUseCase.ts"],"names":[],"mappings":";;;AAKA,MAAa,uBAAuB;IAClC,YACmB,iBAGhB,EACgB,eAOhB,EACgB,gBAAoD,EACpD,kBAAsC;QAbtC,sBAAiB,GAAjB,iBAAiB,CAGjC;QACgB,oBAAe,GAAf,eAAe,CAO/B;QACgB,qBAAgB,GAAhB,gBAAgB,CAAoC;QACpD,uBAAkB,GAAlB,kBAAkB,CAAoB;QAGzD,QAAG,GAAG,KAAK,EAAE,MAYZ,EAAiB,EAAE;YAClB,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC;YAC5D,MAAM,iBAAiB,GAAG,GAAG,CAAC;YAC9B,MAAM,eAAe,GAAG,YAAY,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAC5C,CAAC;YACF,IACE,eAAe,CAAC,IAAI,CAClB,CAAC,KAAK,EAAE,EAAE,CACR,KAAK,CAAC,qBAAqB,GAAG,MAAM,CAAC,8BAA8B,CACtE,EACD,CAAC;gBACD,OAAO,CAAC,IAAI,CACV,6DAA6D,CAC9D,CAAC;gBACF,OAAO;YACT,CAAC;YAED,IAAI,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC;YAE1E,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CACtC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAC5C,CAAC;YACF,IACE,YAAY,CAAC,MAAM,GAAG,CAAC;gBACvB,MAAM,CAAC,8BAA8B,GAAG,GAAG,EAC3C,CAAC;gBACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,GAAG,CACnC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAC5D,CAAC;gBACF,IAAI,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,EAAE,CAAC;oBACjE,MAAM,oCAAoC,GACxC,CAAC,oBAAoB,GAAG,MAAM,CAAC,8BAA8B,CAAC;wBAC9D,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;oBAChD,2BAA2B,GAAG,IAAI,CAAC,KAAK,CACtC,2BAA2B;wBACzB,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,oCAAoC,EAAE,CAAC,CAAC,CACxD,CAAC;oBACF,IAAI,2BAA2B,IAAI,CAAC,EAAE,CAAC;wBACrC,OAAO,CAAC,IAAI,CACV,wBAAwB,oBAAoB,yBAAyB,MAAM,CAAC,8BAA8B,oCAAoC,CAC/I,CAAC;wBACF,OAAO;oBACT,CAAC;oBACD,OAAO,CAAC,IAAI,CACV,wBAAwB,oBAAoB,yBAAyB,MAAM,CAAC,8BAA8B,+CAA+C,2BAA2B,GAAG,CACxL,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACvE,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAClD,MAAM,CAAC,uBAAuB,EAC9B,OAAO,CACR,CAAC;YACF,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAClD,MAAM,CAAC,iBAAiB,EACxB,OAAO,CACR,CAAC;YACF,MAAM,cAAc,GAClB,MAAM,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YAEnE,MAAM,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAC1D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,iBAAiB,CAC3C,CAAC;YACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CACX,8BAA8B,MAAM,CAAC,iBAAiB,yBAAyB,CAChF,CAAC;gBACF,OAAO;YACT,CAAC;YAED,MAAM,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;iBAChE,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC;iBACxC,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,uBAAuB,CAAC;iBAClE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;YAClC,MAAM,4BAA4B,GAAG,SAAS,CAAC,MAAM,CACnD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,MAAM,CAAC,iBAAiB,CACrD,CAAC,MAAM,CAAC;YACT,IAAI,mCAAmC,GAAG,4BAA4B,CAAC;YACvE,IAAI,qBAAqB,GAAG,CAAC,CAAC;YAE9B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,WAAW,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,IAAI,IAAI,CACzB,GAAG,CAAC,WAAW,EAAE,EACjB,GAAG,CAAC,QAAQ,EAAE,EACd,GAAG,CAAC,OAAO,EAAE,CACd,CAAC;YACF,MAAM,aAAa,GAAG,IAAI,IAAI,CAC5B,UAAU,CAAC,WAAW,EAAE,EACxB,UAAU,CAAC,QAAQ,EAAE,EACrB,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CACzB,CAAC;YAEF,KACE,IAAI,CAAC,GAAG,CAAC,EACT,CAAC,GAAG,uBAAuB,CAAC,MAAM;gBAClC,mCAAmC,GAAG,2BAA2B,EACjE,CAAC,EAAE,EACH,CAAC;gBACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBACzC,IAAI,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvC,SAAS;gBACX,CAAC;gBACD,IACE,KAAK,CAAC,cAAc,KAAK,IAAI;oBAC7B,KAAK,CAAC,cAAc,IAAI,aAAa,EACrC,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,IAAI,KAAK,CAAC,cAAc,KAAK,IAAI,IAAI,WAAW,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;oBACxE,SAAS;gBACX,CAAC;gBACD,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,KAAK,CAAC,MAAM,KAAK,EAAE;oBACnB,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAClD,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE;oBACT,KAAK,CAAC,MAAM;yBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBACvD,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;yBACzB,IAAI,EAAE;oBACT,MAAM,CAAC,mBAAmB;oBAC1B,MAAM,CAAC,gBAAgB,CAAC;gBAC1B,MAAM,KAAK,GACT,KAAK,CAAC,MAAM;qBACT,IAAI,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;oBACxD,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;qBAC1B,IAAI,EAAE,IAAI,MAAM,CAAC,mBAAmB,CAAC;gBAC1C,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CACX,qCAAqC,KAAK,CAAC,GAAG,6DAA6D,CAC5G,CAAC;oBACF,SAAS;gBACX,CAAC;gBACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBAC7C,IAAI,UAAkB,CAAC;gBACvB,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBACpE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;wBAChB,OAAO,CAAC,IAAI,CACV,wBAAwB,KAAK,CAAC,GAAG,gCAAgC,CAClE,CAAC;wBACF,SAAS;oBACX,CAAC;oBACD,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;wBAC3B,OAAO,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,GAAG,+BAA+B,CAAC,CAAC;wBACtE,SAAS;oBACX,CAAC;oBACD,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAC9D,KAAK,CAAC,GAAG,CACV,CAAC;oBACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,KAAK,UAAU,CAAC,MAAM,sCAAsC,CACxF,CAAC;wBACF,SAAS;oBACX,CAAC;yBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACnC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;4BACtC,OAAO,CAAC,IAAI,CACV,kBAAkB,KAAK,CAAC,GAAG,gDAAgD,CAC5E,CAAC;4BACF,SAAS;wBACX,CAAC;wBACD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBACxC,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;oBACnC,OAAO,CAAC,KAAK,CACX,kBAAkB,KAAK,CAAC,GAAG,iDAAiD,UAAU,EAAE,CACzF,CAAC;oBACF,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CACrC,OAAO,EACP,KAAK,EACL,uBAAuB,CAAC,EAAE,CAC3B,CAAC;gBACF,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,iBAAiB,CAAC;gBAExC,MAAM,MAAM,GAAa;oBACvB,KAAK,CAAC,GAAG;oBACT,KAAK;oBACL,KAAK;oBACL,kBAAkB;oBAClB,MAAM,CAAC,cAAc;oBACrB,UAAU;oBACV,UAAU;iBACX,CAAC;gBACF,IACE,MAAM,CAAC,mBAAmB,KAAK,IAAI;oBACnC,MAAM,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EACrC,CAAC;oBACD,MAAM,SAAS,GACb,MAAM,CAAC,mBAAmB,CACxB,qBAAqB,GAAG,MAAM,CAAC,mBAAmB,CAAC,MAAM,CAC1D,CAAC;oBACJ,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;gBACxC,CAAC;gBACD,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvD,qBAAqB,EAAE,CAAC;gBACxB,mCAAmC,EAAE,CAAC;YACxC,CAAC;QACH,CAAC,CAAC;IAxOC,CAAC;CAyOL;AAzPD,0DAyPC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "github-issue-tower-defence-management",
|
|
3
|
-
"version": "1.42.
|
|
3
|
+
"version": "1.42.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "bin/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@typescript-eslint/eslint-plugin": "^7.2.0",
|
|
56
56
|
"@typescript-eslint/parser": "^7.2.0",
|
|
57
57
|
"check-node-version": "^4.2.1",
|
|
58
|
-
"commitlint": "^
|
|
58
|
+
"commitlint": "^21.0.0",
|
|
59
59
|
"conventional-changelog-conventionalcommits": "^9.0.0",
|
|
60
60
|
"eslint": "^8.57.0",
|
|
61
61
|
"eslint-plugin-import": "^2.29.1",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"eslint-plugin-unused-imports": "^3.1.0",
|
|
64
64
|
"jest": "^29.7.0",
|
|
65
65
|
"jest-html-reporter": "^3.10.2",
|
|
66
|
-
"jest-junit": "^
|
|
66
|
+
"jest-junit": "^17.0.0",
|
|
67
67
|
"jest-mock-extended": "^4.0.0-beta1",
|
|
68
68
|
"prettier": "^3.2.5",
|
|
69
69
|
"semantic-release": "^25.0.0",
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import dotenv from 'dotenv';
|
|
2
|
+
import { GoogleSpreadsheetRepository } from './GoogleSpreadsheetRepository';
|
|
3
|
+
import { LocalStorageRepository } from './LocalStorageRepository';
|
|
4
|
+
|
|
5
|
+
dotenv.config();
|
|
6
|
+
|
|
7
|
+
const GOOGLE_SERVICE_ACCOUNT_KEY = process.env.GOOGLE_SERVICE_ACCOUNT_KEY;
|
|
8
|
+
|
|
9
|
+
if (!GOOGLE_SERVICE_ACCOUNT_KEY) {
|
|
10
|
+
throw new Error('GOOGLE_SERVICE_ACCOUNT_KEY is required');
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
describe('GoogleSpreadsheetRepository integration tests', () => {
|
|
14
|
+
jest.setTimeout(60 * 1000);
|
|
15
|
+
jest.retryTimes(3, { logErrorsBeforeRetry: true });
|
|
16
|
+
|
|
17
|
+
const localStorageRepository = new LocalStorageRepository();
|
|
18
|
+
const spreadsheetUrl =
|
|
19
|
+
'https://docs.google.com/spreadsheets/d/1N_3y0y46v5tHbra5YSm6PldflcsF1bkfeWDdQ3MRuXM/edit?gid=0#gid=0';
|
|
20
|
+
const repository = new GoogleSpreadsheetRepository(
|
|
21
|
+
localStorageRepository,
|
|
22
|
+
GOOGLE_SERVICE_ACCOUNT_KEY,
|
|
23
|
+
);
|
|
24
|
+
|
|
25
|
+
beforeEach(async () => {
|
|
26
|
+
await new Promise((resolve) => setTimeout(resolve, 2000));
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
describe('getSheet', () => {
|
|
30
|
+
const testCases: [string, string[][] | null][] = [
|
|
31
|
+
['SheetUndefined', null],
|
|
32
|
+
['SheetSingleCell', [['test']]],
|
|
33
|
+
[
|
|
34
|
+
'SheetMultipleRows',
|
|
35
|
+
[
|
|
36
|
+
['1', '2'],
|
|
37
|
+
['3', '4'],
|
|
38
|
+
],
|
|
39
|
+
],
|
|
40
|
+
];
|
|
41
|
+
|
|
42
|
+
test.each(testCases)(
|
|
43
|
+
'gets sheet %s',
|
|
44
|
+
async (sheetName: string, expected: string[][] | null) => {
|
|
45
|
+
const result = await repository.getSheet(spreadsheetUrl, sheetName);
|
|
46
|
+
expect(result).toEqual(expected);
|
|
47
|
+
},
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
test('returns null for non-existent sheet', async () => {
|
|
51
|
+
const result = await repository.getSheet(
|
|
52
|
+
spreadsheetUrl,
|
|
53
|
+
'NonExistentSheet',
|
|
54
|
+
);
|
|
55
|
+
expect(result).toBeNull();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
describe('updateCell', () => {
|
|
60
|
+
const testCases: [string, number, number, string][] = [
|
|
61
|
+
['Sheet1', 0, 0, 'First Value'],
|
|
62
|
+
['Sheet1', 0, 0, 'Updated Value'],
|
|
63
|
+
['Sheet1', 1, 1, '123'],
|
|
64
|
+
['Sheet1', 2, 2, 'Test'],
|
|
65
|
+
];
|
|
66
|
+
|
|
67
|
+
test.each(testCases)(
|
|
68
|
+
'updates cell in sheet %s at row %d col %d with value %s',
|
|
69
|
+
async (sheetName: string, row: number, col: number, value: string) => {
|
|
70
|
+
await repository.updateCell(spreadsheetUrl, sheetName, row, col, value);
|
|
71
|
+
const result = await repository.getSheet(spreadsheetUrl, sheetName);
|
|
72
|
+
if (!result) {
|
|
73
|
+
throw new Error('Sheet not found');
|
|
74
|
+
}
|
|
75
|
+
expect(result[row][col]).toBe(value);
|
|
76
|
+
},
|
|
77
|
+
);
|
|
78
|
+
});
|
|
79
|
+
|
|
80
|
+
describe('appendSheetValues', () => {
|
|
81
|
+
const testCases: [string[][]][] = [
|
|
82
|
+
[[['Single Row']]],
|
|
83
|
+
[[['Multiple', 'Columns']]],
|
|
84
|
+
[
|
|
85
|
+
[
|
|
86
|
+
['Row1Col1', 'Row1Col2'],
|
|
87
|
+
['Row2Col1', 'Row2Col2'],
|
|
88
|
+
],
|
|
89
|
+
],
|
|
90
|
+
];
|
|
91
|
+
|
|
92
|
+
test.each(testCases)(
|
|
93
|
+
'appends values %j to sheet',
|
|
94
|
+
async (values: string[][]) => {
|
|
95
|
+
const sheetName = 'AppendTest';
|
|
96
|
+
const initialSheet = await repository.getSheet(
|
|
97
|
+
spreadsheetUrl,
|
|
98
|
+
sheetName,
|
|
99
|
+
);
|
|
100
|
+
const initialLength = initialSheet ? initialSheet.length : 0;
|
|
101
|
+
|
|
102
|
+
await repository.appendSheetValues(spreadsheetUrl, sheetName, values);
|
|
103
|
+
|
|
104
|
+
const updatedSheet = await repository.getSheet(
|
|
105
|
+
spreadsheetUrl,
|
|
106
|
+
sheetName,
|
|
107
|
+
);
|
|
108
|
+
expect(updatedSheet).not.toBeNull();
|
|
109
|
+
if (!updatedSheet) {
|
|
110
|
+
throw new Error('Sheet not found');
|
|
111
|
+
}
|
|
112
|
+
expect(updatedSheet.length).toBe(initialLength + values.length);
|
|
113
|
+
|
|
114
|
+
for (let i = 0; i < values.length; i++) {
|
|
115
|
+
expect(updatedSheet[initialLength + i]).toEqual(values[i]);
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
);
|
|
119
|
+
});
|
|
120
|
+
});
|