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:
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"@medusajs/medusa": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Fix eventBus.emit using redis mock
|
||||||
+2
-1
@@ -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: {} },
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user