Skip to content

Commit 37d7c89

Browse files
committed
Test coverage improvements
We're now at 100% line and conditional coverage (minus skipped lines and conditions that represent unknown or erroneous states).
1 parent bf6ef15 commit 37d7c89

File tree

3 files changed

+47
-2
lines changed

3 files changed

+47
-2
lines changed

index.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ function getAuroraDataValue (value) {
1515
return value.longValue;
1616
} else if ('stringValue' in value) {
1717
return value.stringValue;
18-
} else if ('booleanValue' in value) {
18+
} else /* istanbul ignore else */ if ('booleanValue' in value) {
1919
return value.booleanValue;
20-
} else /* istanbul ignore next */ {
20+
} else {
2121
const type = Object.keys(value)[0];
2222
throw new Error(`Unknown value type '${type}' from row`);
2323
}

tests/constants.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2122,6 +2122,12 @@ module.exports = {
21222122
},
21232123
PLUCK_RESPONSE_ROWS: [1, 2],
21242124

2125+
DEL_RESPONSE_DATA: {
2126+
generatedFields: [],
2127+
numberOfRecordsUpdated: 7
2128+
},
2129+
DEL_RESPONSE_ROWS: 7,
2130+
21252131
INSERT_RESPONSE_DATA: {
21262132
generatedFields: [
21272133
{

tests/test.js

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,27 @@ describe('SDK configuration tests', () => {
103103
});
104104
});
105105

106+
test('Destroy functionality', async () => {
107+
const knex = require('knex')({
108+
client: require('..'),
109+
connection: {
110+
database: constants.DATABASE,
111+
resourceArn: constants.AURORA_CLUSTER_ARN,
112+
secretArn: constants.SECRET_ARN
113+
}
114+
});
115+
116+
mockExecuteStatementPromise.mockResolvedValue(constants.ALL_QUERY_RESPONSE_DATA);
117+
118+
await knex.select('*').from('foo');
119+
120+
expect(mockExecuteStatement).toHaveBeenCalledTimes(1);
121+
122+
knex.destroy();
123+
124+
await expect(knex.select('*').from('foo')).rejects.toThrow();
125+
});
126+
106127
describe('Query statement tests', () => {
107128
const knex = require('knex')({
108129
client: require('..'),
@@ -300,6 +321,24 @@ describe('Query statement tests', () => {
300321
expect(rows).toEqual(constants.PLUCK_RESPONSE_ROWS);
301322
});
302323

324+
test('.del() works', async () => {
325+
mockExecuteStatementPromise.mockResolvedValue(constants.DEL_RESPONSE_DATA);
326+
327+
const rows = await knex('test').del();
328+
329+
expect(mockExecuteStatement).toHaveBeenCalledTimes(1);
330+
expect(mockExecuteStatement).toHaveBeenCalledWith({
331+
resourceArn: constants.AURORA_CLUSTER_ARN,
332+
secretArn: constants.SECRET_ARN,
333+
database: constants.DATABASE,
334+
sql: 'delete from `test`',
335+
parameters: [],
336+
includeResultMetadata: true
337+
});
338+
339+
expect(rows).toEqual(constants.DEL_RESPONSE_ROWS);
340+
});
341+
303342
test("Insert returns first row's primary ID", async () => {
304343
mockExecuteStatementPromise.mockResolvedValue(constants.INSERT_RESPONSE_DATA);
305344

0 commit comments

Comments
 (0)