File tree Expand file tree Collapse file tree 2 files changed +34
-12
lines changed
src/init-dependencies/event-store
tests/init-dependencies/event-store Expand file tree Collapse file tree 2 files changed +34
-12
lines changed Original file line number Diff line number Diff line change @@ -22,7 +22,13 @@ export const getAllEvents =
2222 ( ) =>
2323 dbExecute (
2424 dbClient ,
25- "SELECT * FROM events WHERE event_type != 'EquipmentTrainingQuizResult'" ,
25+ `
26+ SELECT events.*
27+ FROM events
28+ LEFT JOIN events_exclusions ON events.id = events_exclusions.event_id
29+ WHERE events_exclusions.event_id IS NULL
30+ AND events.event_type != 'EquipmentTrainingQuizResult'
31+ ` ,
2632 { }
2733 ) ,
2834 failureWithStatus (
@@ -46,9 +52,19 @@ export const getAllEventsByType =
4652 pipe (
4753 TE . tryCatch (
4854 ( ) =>
49- dbExecute ( dbClient , 'SELECT * FROM events WHERE event_type = ?;' , [
50- eventType ,
51- ] ) ,
55+ dbExecute (
56+ dbClient ,
57+ `
58+ SELECT *
59+ FROM events
60+ LEFT JOIN events_exclusions ON events.id = events_exclusions.event_id
61+ WHERE events_exclusions.event_id IS NULL
62+ AND event_type = ?;
63+ ` ,
64+ [
65+ eventType ,
66+ ]
67+ ) ,
5268 failureWithStatus (
5369 `Failed to query database for events of type '${ eventType } '` ,
5470 StatusCodes . INTERNAL_SERVER_ERROR
@@ -82,7 +98,13 @@ export const getAllEventsByTypes =
8298 ( ) =>
8399 dbExecute (
84100 dbClient ,
85- 'SELECT * FROM events WHERE event_type = ? OR event_type = ?' ,
101+ `
102+ SELECT *
103+ FROM events
104+ LEFT JOIN events_exclusions ON events.id = events_exclusions.event_id
105+ WHERE events_exclusions.event_id IS NULL
106+ AND (event_type = ? OR event_type = ?)
107+ ` ,
86108 [ eventType , eventType2 ]
87109 ) ,
88110 failureWithStatus (
Original file line number Diff line number Diff line change @@ -97,7 +97,8 @@ describe('get all events', () => {
9797 await persistEvent ( equipmentTrainingSheetRegistered ) ;
9898 } ) ;
9999 it ( 'returns all persisted events except EquipmentTrainingQuizResult' , async ( ) => {
100- expect ( await initalisedGetAllEvents ( ) ) . toStrictEqual ( [
100+ const allEvents = await initalisedGetAllEvents ( ) ;
101+ expect ( allEvents ) . toStrictEqual ( [
101102 memberNumberLinkedToEmail ,
102103 equipmentTrainingSheetRegistered ,
103104 ] ) ;
@@ -203,12 +204,11 @@ describe('get all events', () => {
203204 await unPersistEvent ( eventId , excludedBy , excludedByReason )
204205 } ) ;
205206 it ( 'returns only events of the requested type excluding the excluded event' , async ( ) => {
206- expect (
207- await initalisedGetAllEventsByTypes (
208- 'MemberNumberLinkedToEmail' ,
209- 'EquipmentTrainingSheetRegistered'
210- )
211- ) . toStrictEqual ( [
207+ const events = await initalisedGetAllEventsByTypes (
208+ 'MemberNumberLinkedToEmail' ,
209+ 'EquipmentTrainingSheetRegistered'
210+ ) ;
211+ expect ( events ) . toStrictEqual ( [
212212 memberLinkedEvent ,
213213 ] ) ;
214214 } ) ;
You can’t perform that action at this time.
0 commit comments