UNPKG

@dhlab/e2e-autogen

Version:

Google 스프레드시트 기반 시나리오를 Playwright 테스트 스텁 코드로 자동 생성하고, 테스트 실행 결과를 다시 시트에 업데이트하는 CLI 도구

95 lines (93 loc) 3.17 kB
'use strict'; var _TestSuiteSheet_instances, _TestSuiteSheet_googleSheetColumns, _TestSuiteSheet_applyHeaderAndDropdown; Object.defineProperty(exports, "__esModule", { value: true }); exports.TestSuiteSheet = void 0; const tslib_1 = require("tslib"); const spreadsheet_sheet_1 = require("./spreadsheet-sheet"); class TestSuiteSheet extends spreadsheet_sheet_1.SpreadsheetSheet { constructor(spreadsheetId, gid, sheets, googleSheetColumns, sheetsProvider) { super(spreadsheetId, gid, sheets, sheetsProvider); _TestSuiteSheet_instances.add(this); _TestSuiteSheet_googleSheetColumns.set(this, void 0); tslib_1.__classPrivateFieldSet(this, _TestSuiteSheet_googleSheetColumns, googleSheetColumns, "f"); } columnNumberOf(columnName) { return COLUMN_INDEX[tslib_1.__classPrivateFieldGet(this, _TestSuiteSheet_googleSheetColumns, "f")[columnName]]; } async appendResultColumn(values, statusLabels, totalRows, colIdx) { await this.writeAfterLastColumn(values, 1); await tslib_1.__classPrivateFieldGet(this, _TestSuiteSheet_instances, "m", _TestSuiteSheet_applyHeaderAndDropdown).call(this, statusLabels, totalRows, colIdx); } } exports.TestSuiteSheet = TestSuiteSheet; _TestSuiteSheet_googleSheetColumns = new WeakMap(), _TestSuiteSheet_instances = new WeakSet(), _TestSuiteSheet_applyHeaderAndDropdown = async function _TestSuiteSheet_applyHeaderAndDropdown(statusLabels, totalRows, colIdx) { const requests = [ { repeatCell: { range: { sheetId: this.gid, startRowIndex: 0, endRowIndex: 2, startColumnIndex: colIdx, endColumnIndex: colIdx + 1, }, cell: { userEnteredFormat: { backgroundColor: { red: 0.85, green: 0.92, blue: 0.98 }, horizontalAlignment: "CENTER", textFormat: { bold: true }, }, }, fields: "userEnteredFormat(backgroundColor,horizontalAlignment,textFormat.bold)", }, }, { setDataValidation: { range: { sheetId: this.gid, startRowIndex: 2, endRowIndex: totalRows, startColumnIndex: colIdx, endColumnIndex: colIdx + 1, }, rule: { condition: { type: "ONE_OF_LIST", values: statusLabels.map((v) => ({ userEnteredValue: v })), }, strict: true, showCustomUi: true, }, }, }, ]; await this.applyStyle(requests); }; const COLUMN_INDEX = { A: 0, B: 1, C: 2, D: 3, E: 4, F: 5, G: 6, H: 7, I: 8, J: 9, K: 10, L: 11, M: 12, N: 13, O: 14, P: 15, Q: 16, R: 17, S: 18, T: 19, U: 20, V: 21, W: 22, X: 23, Y: 24, Z: 25, };