UNPKG

@gorgo/medusa-feed-yandex

Version:

A Medusa plugin that generates a product feed in YML (Yandex Market Language) format

91 lines (74 loc) 2.68 kB
import { medusaIntegrationTestRunner } from "@medusajs/test-utils" import { createFeedsWorkflow } from "../../src/workflows/create-feeds" import { deleteFeedsWorkflow } from "../../src/workflows/delete-feeds" import { updateFeedsWorkflow } from "../../src/workflows/update-feeds" import { FEED_MODULE } from "../../src/modules/feed" import FeedModuleService from "../../src/modules/feed/service" medusaIntegrationTestRunner({ testSuite: ({ getContainer }) => { describe("createFeedsWorkflow", () => { it("create feeds", async () => { const container = getContainer() const input = [ { file_name: "feed1.xml", is_active: true, schedule: 60, }, { file_name: "feed2.xml", is_active: false, schedule: 120, }, ] const { result } = await createFeedsWorkflow(container).run({ input }) expect(result).toHaveLength(2) expect(result[0]).toHaveProperty("file_name", "feed1.xml") expect(result[1]).toHaveProperty("file_name", "feed2.xml") const service = container.resolve<FeedModuleService>(FEED_MODULE) const feeds = await service.listFeeds({ file_name: ["feed1.xml", "feed2.xml"], }) expect(feeds).toHaveLength(2); }) }) describe("deleteFeedsWorkflow", () => { it("delete feeds", async () => { const container = getContainer() const service = container.resolve<FeedModuleService>(FEED_MODULE) const created = await service.createFeeds({ file_name: "todelete.xml", is_active: true, schedule: 30, }) await deleteFeedsWorkflow(container).run({ input: {ids: [created.id]}, }) const found = await service.listFeeds({ id: [created.id] }) expect(found).toHaveLength(0) }) }) describe("updateFeedsWorkflow", () => { it("update feeds", async () => { const container = getContainer() const service = container.resolve<FeedModuleService>(FEED_MODULE) const created = await service.createFeeds({ file_name: "original.xml", is_active: true, schedule: 30, }) await updateFeedsWorkflow(container).run({ input: [{ id: created.id, title: "updated feed name", schedule: 60 }], }) const updated = await service.retrieveFeed(created.id); expect(updated.title).toBe("updated feed name") expect(updated.schedule).toBe(60) }) }) }, }) jest.setTimeout(60 * 1000);