Enable tsconfig noUncheckedIndexedAccess

This commit is contained in:
Jamie
2026-03-12 16:24:01 -07:00
committed by GitHub
parent 34b0f9cd50
commit 1d45a52da7
311 changed files with 2146 additions and 1589 deletions

View File

@@ -3371,35 +3371,22 @@ describe('SQL migrations test', () => {
return json;
}
function addMessages(
messages: Array<{
mentions?: Array<AciString>;
boldRanges?: Array<Array<number>>;
}>
) {
const formattedMessages = messages.map(composeMessage);
function addMessage(message: {
mentions?: Array<AciString>;
boldRanges?: Array<Array<number>>;
}) {
const formattedMessage = composeMessage(message);
db.exec(
`
INSERT INTO messages
(id, json)
VALUES
${formattedMessages
.map(message => `('${message.id}', '${objectToJSON(message)}')`)
.join(', ')};
('${formattedMessage.id}', '${objectToJSON(formattedMessage)}')
`
);
assert.equal(
db
.prepare('SELECT COUNT(*) FROM messages;', {
pluck: true,
})
.get(),
messages.length
);
return { formattedMessages };
return formattedMessage;
}
function getMentions() {
@@ -3408,17 +3395,24 @@ describe('SQL migrations test', () => {
.all();
}
const userIds = [
generateAci(),
generateAci(),
generateAci(),
generateAci(),
generateAci(),
] as const;
it('Creates and populates the mentions table with existing mentions', () => {
updateToVersion(db, schemaVersion - 1);
const userIds = new Array(5).fill(undefined).map(() => generateAci());
const { formattedMessages } = addMessages([
{ mentions: [userIds[0]] },
{ mentions: [userIds[1]], boldRanges: [[1, 1]] },
{ mentions: [userIds[1], userIds[2]] },
{},
{ boldRanges: [[1, 4]] },
]);
const formattedMessages = [
addMessage({ mentions: [userIds[0]] }),
addMessage({ mentions: [userIds[1]], boldRanges: [[1, 1]] }),
addMessage({ mentions: [userIds[1], userIds[2]] }),
addMessage({}),
addMessage({ boldRanges: [[1, 4]] }),
] as const;
// now create mentions table
updateToVersion(db, schemaVersion);
@@ -3467,14 +3461,13 @@ describe('SQL migrations test', () => {
0
);
const userIds = new Array(5).fill(undefined).map(() => generateAci());
const { formattedMessages } = addMessages([
{ mentions: [userIds[0]] },
{ mentions: [userIds[1]], boldRanges: [[1, 1]] },
{ mentions: [userIds[1], userIds[2]] },
{},
{ boldRanges: [[1, 4]] },
]);
const formattedMessages = [
addMessage({ mentions: [userIds[0]] }),
addMessage({ mentions: [userIds[1]], boldRanges: [[1, 1]] }),
addMessage({ mentions: [userIds[1], userIds[2]] }),
addMessage({}),
addMessage({ boldRanges: [[1, 4]] }),
] as const;
// the 4 mentions should be included, with multiple rows for multiple mentions in a
// message
@@ -3519,11 +3512,13 @@ describe('SQL migrations test', () => {
0
);
const userIds = new Array(5).fill(undefined).map(() => generateAci());
const { formattedMessages } = addMessages([
{ mentions: [userIds[0]] },
{ mentions: [userIds[1], userIds[2]], boldRanges: [[1, 1]] },
]);
const formattedMessages = [
addMessage({ mentions: [userIds[0]] }),
addMessage({
mentions: [userIds[1], userIds[2]],
boldRanges: [[1, 1]],
}),
] as const;
assert.equal(getMentions().length, 3);
@@ -3553,8 +3548,9 @@ describe('SQL migrations test', () => {
0
);
const userIds = new Array(5).fill(undefined).map(() => generateAci());
const { formattedMessages } = addMessages([{ mentions: [userIds[0]] }]);
const formattedMessages = [
addMessage({ mentions: [userIds[0]] }),
] as const;
assert.equal(getMentions().length, 1);