Skip to content

Commit 9c43169

Browse files
committed
Fixed trained on entries missing for rejoined user
1 parent 15268ac commit 9c43169

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/read-models/shared-state/member/expand.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
trainedMemberstable,
99
} from '../state';
1010
import {BetterSQLite3Database} from 'drizzle-orm/better-sqlite3';
11-
import {eq} from 'drizzle-orm';
11+
import {eq, inArray} from 'drizzle-orm';
1212
import * as RA from 'fp-ts/ReadonlyArray';
1313
import {MemberCoreInfo, OwnerOf, TrainedOn, TrainerFor} from '../return-types';
1414
import {Actor} from '../../../types';
@@ -32,7 +32,7 @@ const expandTrainedOn =
3232
equipmentTable,
3333
eq(equipmentTable.id, trainedMemberstable.equipmentId)
3434
)
35-
.where(eq(trainedMemberstable.memberNumber, member.memberNumber))
35+
.where(inArray(trainedMemberstable.memberNumber, member.memberNumbers))
3636
.all(),
3737
RA.map(row => ({
3838
...row,

tests/read-models/shared-state/get-member.test.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,17 @@ const expectUserIsTrainedOnEquipmentAt =
1717
memberNumber,
1818
framework.sharedReadModel.members.get,
1919
getSomeOrFail,
20+
(m) => {
21+
console.log(m);
22+
return m;
23+
},
2024
member => member.trainedOn,
2125
RA.findFirst(e => e.id === equipmentId),
2226
getSomeOrFail,
2327
trainedOnEntry => trainedOnEntry.trainedAt,
2428
expectMatchSecondsPrecision(expectTrainedAt)
2529
);
30+
// bun jest -t "get-via-shared-read-model when the member exists and they have left and then rejoined within the training-lapse period using a new account without actions prior to linking accounts and the user is marked trained on equipment on their old number the user shows as trained on their old date on their old number$" tests/read-models/shared-state/get-member.test.ts
2631

2732
describe('get-via-shared-read-model', () => {
2833
let framework: TestFramework;
@@ -551,6 +556,9 @@ describe('get-via-shared-read-model', () => {
551556
jest.useFakeTimers();
552557
jest.setSystemTime(markedTrainedOnOldNumberAt);
553558
await markTrainedOnOldNumber();
559+
560+
console.log(`markedTrainedOnOldNumberAt ${markedTrainedOnOldNumberAt}`);
561+
console.log(`markedTrainedOnNewNumberAt ${markedTrainedOnNewNumberAt}`);
554562
});
555563

556564
if (useExistingAccount) {

0 commit comments

Comments
 (0)