-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathExportedColumnPopulatorTest.js
110 lines (89 loc) · 4.1 KB
/
ExportedColumnPopulatorTest.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
var Test = Test || {};
function runSpreadsheetSplitterTest() {
RunTests('ExportedColumnPopulatorTest');
}
Test.ExportedColumnPopulatorTest = (function () {
var spreadsheetTemplateFile =
DriveApp.getFileById('1HFDyTRROx-NLjAn94AoKNVS-hAc-WQmnIXDf8TNewM8');
var testFolder = DriveApp.getFolderById('0B-yIe9XImt25Nnc1d1dRdi1kQUk');
/**
* Creates a copy of the file in the test directory and then translates it into a spreadsheet
* object.
*
* @returns {GoogleAppsScript.Spreadsheet.Spreadsheet} the copied spreadsheet.
* @private
*/
var _copyTemplate = function (name) {
var copiedFile = spreadsheetTemplateFile.makeCopy(name, testFolder);
return SpreadsheetApp.openById(copiedFile.getId());
};
var _testPopulateExportedColumnNoDataChanged = function () {
var copiedTemplate = _copyTemplate('testPopulateExportedColumn-spreadsheet');
var sheet = copiedTemplate.getSheetByName('NoDataExported');
var unchangedValues = sheet.getDataRange().getValues();
var mockMasterSheet = { lastProcessedRowIndex: -1 };
var mockProcessedMasterSheet = new Model.ProcessedMasterSheet({}, [], -1, mockMasterSheet);
try {
DataProcessing.ExportedColumnPopulator.populateExportedColumn(mockProcessedMasterSheet);
Assert.equal(sheet.getDataRange().getValues(), unchangedValues);
}
finally {
DriveApp.getFileById(copiedTemplate.getId()).setTrashed(true);
}
};
var _testPopulateExportedColumnNoRowsExported = function () {
var copiedTemplate = _copyTemplate('testPopulateExportedColumnNoRowsExported-spreadsheet');
var sheet = copiedTemplate.getSheetByName('NoDataExported');
var expectedData = [['Header1', 'Exported'],
['1', true],
['2', true],
['3', true]];
var mockMasterSheet = { exportedColumnIndex: 1, sheet: sheet };
var mockProcessedMasterSheet = new Model.ProcessedMasterSheet({}, [], 3, mockMasterSheet);
try {
DataProcessing.ExportedColumnPopulator.populateExportedColumn(mockProcessedMasterSheet);
Assert.equal(sheet.getDataRange().getValues(), expectedData);
}
finally {
DriveApp.getFileById(copiedTemplate.getId()).setTrashed(true);
}
};
var _testPopulateExportedPartialDataExported = function () {
var copiedTemplate = _copyTemplate('testPopulateExportedColumnPartialDataExported-spreadsheet');
var sheet = copiedTemplate.getSheetByName('PartialDataExported');
var expectedData = [['Header1', 'Exported'],
['1', true],
['2', true],
['3', true]];
var mockMasterSheet = { exportedColumnIndex: 1, sheet: sheet };
var mockProcessedMasterSheet = new Model.ProcessedMasterSheet({}, [], 3, mockMasterSheet);
try {
DataProcessing.ExportedColumnPopulator.populateExportedColumn(mockProcessedMasterSheet);
Assert.equal(sheet.getDataRange().getValues(), expectedData);
}
finally {
DriveApp.getFileById(copiedTemplate.getId()).setTrashed(true);
}
};
var _testPopulateExportedSingleRowNotExported = function () {
var copiedTemplate = _copyTemplate('testPopulateExportedColumnPartialDataExported-spreadsheet');
var sheet = copiedTemplate.getSheetByName('SingleRowNotExported');
var expectedData = [['Header1', 'Header2', 'Exported'],
['1', '2', true]];
var mockMasterSheet = { exportedColumnIndex: 2, sheet: sheet };
var mockProcessedMasterSheet = new Model.ProcessedMasterSheet({}, [], 1, mockMasterSheet);
try {
DataProcessing.ExportedColumnPopulator.populateExportedColumn(mockProcessedMasterSheet);
Assert.equal(sheet.getDataRange().getValues(), expectedData);
}
finally {
DriveApp.getFileById(copiedTemplate.getId()).setTrashed(true);
}
};
return {
testPopulateExportedColumnNoDataChanged: _testPopulateExportedColumnNoDataChanged,
testPopulateExportedColumnNoRowsExported: _testPopulateExportedColumnNoRowsExported,
testPopulateExportedPartialDataExported: _testPopulateExportedPartialDataExported,
testPopulateExportedSingleRowNotExported: _testPopulateExportedSingleRowNotExported
};
})();