fix(medusa): EventBusService.emit using Redis mock (#3491)

* Fix eventBusService.emit using redis mock

* revert gitignore

* enqueuer

* unit test add redis_url

* fix test
This commit is contained in:
Carlos R. L. Rodrigues
2023-03-16 09:29:18 +01:00
committed by GitHub
parent 09dec65430
commit 2869763ea9
4 changed files with 87 additions and 39 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@medusajs/medusa": patch
---
Fix eventBus.emit using redis mock
+2 -1
View File
@@ -19,4 +19,5 @@ www/**/.yarn/*
.idea .idea
.turbo .turbo
build/** build/**
**/dist
@@ -24,11 +24,18 @@ describe("EventBusService", () => {
find: () => Promise.resolve([]), find: () => Promise.resolve([]),
}) })
eventBus = new EventBusService({ eventBus = new EventBusService(
manager: MockManager, {
stagedJobRepository, manager: MockManager,
logger: loggerMock, stagedJobRepository,
}) logger: loggerMock,
},
{
projectConfig: {
redis_url: "localhost",
},
}
)
}) })
afterAll(async () => { afterAll(async () => {
@@ -49,10 +56,17 @@ describe("EventBusService", () => {
beforeEach(() => { beforeEach(() => {
jest.resetAllMocks() jest.resetAllMocks()
eventBus = new EventBusService({ eventBus = new EventBusService(
manager: MockManager, {
logger: loggerMock, manager: MockManager,
}) logger: loggerMock,
},
{
projectConfig: {
redis_url: "localhost",
},
}
)
}) })
afterAll(async () => { afterAll(async () => {
@@ -135,11 +149,18 @@ describe("EventBusService", () => {
create: (data) => data, create: (data) => data,
}) })
eventBus = new EventBusService({ eventBus = new EventBusService(
logger: loggerMock, {
manager: mockManager, logger: loggerMock,
stagedJobRepository, manager: mockManager,
}) stagedJobRepository,
},
{
projectConfig: {
redis_url: "localhost",
},
}
)
eventBus.queue_.addBulk.mockImplementationOnce(() => "hi") eventBus.queue_.addBulk.mockImplementationOnce(() => "hi")
}) })
@@ -195,11 +216,18 @@ describe("EventBusService", () => {
create: (data) => data, create: (data) => data,
}) })
eventBus = new EventBusService({ eventBus = new EventBusService(
logger: loggerMock, {
manager: mockManager, logger: loggerMock,
stagedJobRepository, manager: mockManager,
}) stagedJobRepository,
},
{
projectConfig: {
redis_url: "localhost",
},
}
)
eventBus.queue_.addBulk.mockImplementationOnce(() => "hi") eventBus.queue_.addBulk.mockImplementationOnce(() => "hi")
}) })
@@ -285,7 +313,10 @@ describe("EventBusService", () => {
stagedJobRepository, stagedJobRepository,
}, },
{ {
projectConfig: { event_options: { removeOnComplete: 10 } }, projectConfig: {
event_options: { removeOnComplete: 10 },
redis_url: "localhost",
},
} }
) )
@@ -323,11 +354,18 @@ describe("EventBusService", () => {
create: (data) => data, create: (data) => data,
}) })
eventBus = new EventBusService({ eventBus = new EventBusService(
logger: loggerMock, {
manager: mockManager, logger: loggerMock,
stagedJobRepository, manager: mockManager,
}) stagedJobRepository,
},
{
projectConfig: {
redis_url: "localhost",
},
}
)
eventBus.queue_.addBulk.mockImplementationOnce(() => "hi") eventBus.queue_.addBulk.mockImplementationOnce(() => "hi")
@@ -370,7 +408,10 @@ describe("EventBusService", () => {
stagedJobRepository, stagedJobRepository,
}, },
{ {
projectConfig: { event_options: { removeOnComplete: 10 } }, projectConfig: {
event_options: { removeOnComplete: 10 },
redis_url: "localhost",
},
} }
) )
@@ -418,14 +459,11 @@ describe("EventBusService", () => {
find: () => Promise.resolve([]), find: () => Promise.resolve([]),
}) })
eventBus = new EventBusService( eventBus = new EventBusService({
{ manager: MockManager,
manager: MockManager, stagedJobRepository,
stagedJobRepository, logger: loggerMock,
logger: loggerMock, })
},
{}
)
eventBus.subscribe("eventName", () => Promise.resolve("hi")) eventBus.subscribe("eventName", () => Promise.resolve("hi"))
result = await eventBus.worker_({ result = await eventBus.worker_({
data: { eventName: "eventName", data: {} }, data: { eventName: "eventName", data: {} },
+8 -4
View File
@@ -308,7 +308,9 @@ export default class EventBusService {
return (!isBulkEmit ? stagedJobs[0] : stagedJobs) as unknown as TResult return (!isBulkEmit ? stagedJobs[0] : stagedJobs) as unknown as TResult
} }
await this.queue_.addBulk(events) if (this.config_?.projectConfig?.redis_url) {
await this.queue_.addBulk(events)
}
} }
startEnqueuer(): void { startEnqueuer(): void {
@@ -346,9 +348,11 @@ export default class EventBusService {
} }
}) })
await this.queue_.addBulk(eventsData).then(async () => { if (this.config_?.projectConfig?.redis_url) {
return await stagedJobRepo.delete({ id: In(jobs.map((j) => j.id)) }) await this.queue_.addBulk(eventsData).then(async () => {
}) return await stagedJobRepo.delete({ id: In(jobs.map((j) => j.id)) })
})
}
await sleep(3000) await sleep(3000)
} }