feat: restructure events payload (#8143)
* refactor: restructure events payload Breaking change: This PR changes the event payload accepted by the event listeners * refactor: fix failing tests and implement feedback * add integration tests * fix timeout --------- Co-authored-by: Adrien de Peretti <adrien.deperetti@gmail.com>
This commit is contained in:
50
integration-tests/modules/__tests__/event-bus/index.spec.ts
Normal file
50
integration-tests/modules/__tests__/event-bus/index.spec.ts
Normal file
@@ -0,0 +1,50 @@
|
||||
import { medusaIntegrationTestRunner } from "medusa-test-utils"
|
||||
import { MedusaContainer } from "@medusajs/types"
|
||||
import { composeMessage, ModuleRegistrationName } from "@medusajs/utils"
|
||||
import testEventPayloadHandlerMock from "../../dist/subscribers/test-event-payload"
|
||||
|
||||
jest.setTimeout(30000)
|
||||
|
||||
medusaIntegrationTestRunner({
|
||||
testSuite: ({ getContainer }) => {
|
||||
let container!: MedusaContainer
|
||||
|
||||
describe("EventBusModule", () => {
|
||||
beforeAll(() => {
|
||||
container = getContainer()
|
||||
})
|
||||
|
||||
it(`should emit event with the expected shape to be received by the subscribers`, async () => {
|
||||
const eventBus = container.resolve(ModuleRegistrationName.EVENT_BUS)
|
||||
const eventName = "test-event-payload"
|
||||
|
||||
await eventBus.emit(
|
||||
composeMessage(eventName, {
|
||||
data: {
|
||||
test: "foo",
|
||||
},
|
||||
object: "object",
|
||||
source: "source",
|
||||
action: "action",
|
||||
})
|
||||
)
|
||||
|
||||
expect(testEventPayloadHandlerMock).toHaveBeenCalled()
|
||||
expect(
|
||||
testEventPayloadHandlerMock.mock.calls[0][0].pluginOptions
|
||||
).toEqual({})
|
||||
expect(testEventPayloadHandlerMock.mock.calls[0][0].event).toEqual({
|
||||
name: eventName,
|
||||
data: {
|
||||
test: "foo",
|
||||
},
|
||||
metadata: {
|
||||
object: "object",
|
||||
source: "source",
|
||||
action: "action",
|
||||
},
|
||||
})
|
||||
})
|
||||
})
|
||||
},
|
||||
})
|
||||
@@ -173,7 +173,7 @@ medusaIntegrationTestRunner({
|
||||
const logSpy = jest.spyOn(logger, "info")
|
||||
|
||||
await eventBus.emit({
|
||||
eventName: "order.created",
|
||||
name: "order.created",
|
||||
data: {
|
||||
order: {
|
||||
id: "1234",
|
||||
|
||||
Reference in New Issue
Block a user