Skip to content

Commit 141ab40

Browse files
authored
Merge pull request #4 from cap-js/refactor/local_integration_test
Refactor Local Integration Test
2 parents 082a832 + 30de727 commit 141ab40

File tree

1 file changed

+13
-80
lines changed

1 file changed

+13
-80
lines changed

test/integration/testapp/srv/invoice-service.js

Lines changed: 13 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -20,68 +20,13 @@ module.exports = class ProductService extends cds.ApplicationService {
2020
});
2121
};
2222

23-
// Function to fetch Local Printers based on the OS
24-
const fetchLocalPrinters = async () => {
25-
const platform = os.platform();
26-
let command;
27-
if (platform === 'darwin') {
28-
// macOS
29-
command = `lpstat -p`;
30-
} else if (platform === 'win32') {
31-
// Windows
32-
command = `wmic printer get name`;
33-
} else {
34-
throw new Error('Unsupported operating system');
35-
}
36-
try {
37-
const result = await execCommand(command);
38-
return result;
39-
} catch (error) {
40-
return null;
41-
}
42-
};
43-
// Function to parse Printer Names based on the OS
44-
const parsePrinterNames = (printerNames) => {
45-
const platform = os.platform();
46-
let printers = [];
47-
48-
if (platform === 'darwin') {
49-
// macOS: Extract printers starting with 'printer' and take the second word
50-
printers = printerNames
51-
.split('\n')
52-
.filter(line => line.startsWith('printer'))
53-
.map(line => line.split(' ')[1]);
54-
} else if (platform === 'win32') {
55-
// Windows: Split by new lines, remove empty entries, and trim the names
56-
const printerArray = printerNames.split('\n') // Split by new lines
57-
.map(line => line.trim()) // Trim any whitespace
58-
.filter(line => line && !line.startsWith('Name')) // Remove empty lines and header
59-
60-
printers = printerArray.map(line => {
61-
if (line.includes('global.corp.sap')) {
62-
// Remove the server path and keep the last part
63-
return line.replace(/\\\\.*?\\/, ''); // Remove everything up to the last backslash
64-
}
65-
return line; // Return the line as is if no match
66-
}).filter(line => line); // Remove any empty strings
67-
}
68-
69-
return printers;
70-
};
71-
this.on('fetchQueues', async (req) => {
72-
const printers = await fetchLocalPrinters();
73-
const queues = parsePrinterNames(printers);
74-
return queues;
75-
});
76-
7723
this.on('noMainDocument', async (req) => {
7824
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
7925
req.data.fileName = "Invoice_343.pdf";
8026
req.data.attachmentName = "Invoice_343_attachment.pdf";
8127
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
8228
req.data.attachment = fs.readFileSync(path.join(__dirname, req.data.fileName));
83-
const printers = await fetchLocalPrinters();
84-
const queues = parsePrinterNames(printers);
29+
const queues = 'test';
8530
req.data.qName_ID = queues[0];
8631
req.data.numberOfCopies = 2;
8732
});
@@ -96,8 +41,7 @@ module.exports = class ProductService extends cds.ApplicationService {
9641
req.data.document1 = fs.readFileSync(path.join(__dirname, req.data.documentName));
9742
req.data.attachment = fs.readFileSync(path.join(__dirname, req.data.documentName));
9843
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.documentName));
99-
const printers = await fetchLocalPrinters();
100-
const queues = parsePrinterNames(printers);
44+
const queues = 'test';
10145
req.data.qName_ID = queues[0];
10246
req.data.numberOfCopies = 2;
10347
});
@@ -112,8 +56,7 @@ module.exports = class ProductService extends cds.ApplicationService {
11256
req.data.document1 = fs.readFileSync(path.join(__dirname, req.data.documentName));
11357
req.data.attachment = fs.readFileSync(path.join(__dirname, req.data.documentName));
11458
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.documentName));
115-
const printers = await fetchLocalPrinters();
116-
const queues = parsePrinterNames(printers);
59+
const queues = 'test';
11760
req.data.qName_ID = queues[0];
11861
req.data.numberOfCopies = 2;
11962
});
@@ -122,8 +65,7 @@ module.exports = class ProductService extends cds.ApplicationService {
12265
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
12366
req.data.fileName = "Invoice_343.pdf";
12467
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
125-
const printers = await fetchLocalPrinters();
126-
const queues = parsePrinterNames(printers);
68+
const queues = 'test';
12769
req.data.qName_ID = queues[0];
12870
req.data.numberOfCopies = 2;
12971
});
@@ -139,26 +81,23 @@ module.exports = class ProductService extends cds.ApplicationService {
13981
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
14082
req.data.fileName = "Invoice_343.pdf";
14183
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
142-
const printers = await fetchLocalPrinters();
143-
const queues = parsePrinterNames(printers);
84+
const queues = 'test';
14485
req.data.qName1_ID = queues[0];
14586
});
14687

14788
this.on("copiesNotFilled", async (req) => {
14889
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
14990
req.data.fileName = "Invoice_343.pdf";
15091
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
151-
const printers = await fetchLocalPrinters();
152-
const queues = parsePrinterNames(printers);
92+
const queues = 'test';
15393
req.data.qName1_ID = queues[0];
15494
});
15595

15696
this.on("contentUsedInActionSuccess", async (req) => {
15797
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
15898
req.data.documentName1 = "Invoice_343.pdf";
15999
req.data.document1 = fs.readFileSync(path.join(__dirname, req.data.documentName1));
160-
const printers = await fetchLocalPrinters();
161-
const queues = parsePrinterNames(printers);
100+
const queues = 'test';
162101
req.data.qName_ID = queues[0];
163102
req.data.numberOfCopies = 2;
164103
});
@@ -167,8 +106,7 @@ module.exports = class ProductService extends cds.ApplicationService {
167106
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
168107
req.data.documentName1 = "Invoice_343.pdf";
169108
req.data.document1 = fs.readFileSync(path.join(__dirname, req.data.documentName1));
170-
const printers = await fetchLocalPrinters();
171-
const queues = parsePrinterNames(printers);
109+
const queues = 'test';
172110
req.data.qName_ID = queues[0];
173111
req.data.numberOfCopies = 2;
174112
});
@@ -177,8 +115,7 @@ module.exports = class ProductService extends cds.ApplicationService {
177115
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
178116
req.data.fileName = "Invoice_343.pdf";
179117
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
180-
const printers = await fetchLocalPrinters();
181-
const queues = parsePrinterNames(printers);
118+
const queues = 'test';
182119
req.data.qName1_ID = queues[0];
183120
req.data.numberOfCopies1 = 2;
184121
});
@@ -187,8 +124,7 @@ module.exports = class ProductService extends cds.ApplicationService {
187124
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
188125
req.data.fileName = "Invoice_343.pdf";
189126
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
190-
const printers = await fetchLocalPrinters();
191-
const queues = parsePrinterNames(printers);
127+
const queues = 'test';
192128
req.data.qName1_ID = queues[0];
193129
req.data.numberOfCopies1 = 2;
194130
});
@@ -197,8 +133,7 @@ module.exports = class ProductService extends cds.ApplicationService {
197133
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
198134
req.data.fileName = "Invoice_343.pdf";
199135
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
200-
const printers = await fetchLocalPrinters();
201-
const queues = parsePrinterNames(printers);
136+
const queues = 'test';
202137
req.data.qName1_ID = queues[0];
203138
req.data.numberOfCopies1 = 2;
204139
});
@@ -207,8 +142,7 @@ module.exports = class ProductService extends cds.ApplicationService {
207142
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
208143
req.data.fileName = "Invoice_343.pdf";
209144
req.data.fileContent = fs.readFileSync(path.join(__dirname, req.data.fileName));
210-
const printers = await fetchLocalPrinters();
211-
const queues = parsePrinterNames(printers);
145+
const queues = 'test';
212146
req.data.qName1_ID = queues[0];
213147
req.data.numberOfCopies1 = 2;
214148
});
@@ -217,8 +151,7 @@ module.exports = class ProductService extends cds.ApplicationService {
217151
req.data.ID = "d37ce60b-2b3b-448d-9c43-2d6526f28503"
218152
req.data.fileName = "Invoice_343.pdf";
219153
req.data.document2 = fs.readFileSync(path.join(__dirname, req.data.fileName));
220-
const printers = await fetchLocalPrinters();
221-
const queues = parsePrinterNames(printers);
154+
const queues = 'test';
222155
req.data.qName_ID = queues[0];
223156
req.data.numberOfCopies = 2;
224157
})

0 commit comments

Comments
 (0)