chore: payment auto capture + remove enum from utils (#7513)

What:

- handles payments session that are auto captured
- removes all the enums from `@medusajs/types`
- move all `@medusajs/types` to devDependencies
This commit is contained in:
Carlos R. L. Rodrigues
2024-05-29 11:12:59 +00:00
committed by GitHub
parent 2c5ba408d4
commit f1ced57d5f
68 changed files with 210 additions and 333 deletions
@@ -1,4 +1,5 @@
import { ProductTypes } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Image } from "@models"
import faker from "faker"
@@ -19,7 +20,7 @@ export const buildProductOnlyData = ({
discountable?: boolean
thumbnail?: string
images?: { id?: string; url: string }[]
status?: ProductTypes.ProductStatus
status?: ProductStatus
} = {}) => {
return {
title: title ?? faker.commerce.productName(),
@@ -28,7 +29,7 @@ export const buildProductOnlyData = ({
is_giftcard: is_giftcard ?? false,
discountable: discountable ?? true,
thumbnail: thumbnail as string,
status: status ?? ProductTypes.ProductStatus.PUBLISHED,
status: status ?? ProductStatus.PUBLISHED,
images: (images ?? []) as Image[],
}
}
@@ -58,7 +59,7 @@ export const buildProductAndRelationsData = ({
is_giftcard: is_giftcard ?? false,
discountable: discountable ?? true,
thumbnail: thumbnail as string,
status: status ?? ProductTypes.ProductStatus.PUBLISHED,
status: status ?? ProductStatus.PUBLISHED,
images: (images ?? []) as Image[],
type_id,
tags: tags ?? [{ value: "tag-1" }],
@@ -1,10 +1,10 @@
import { ProductTypes } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
export const productsData = [
{
id: "test-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
tags: [
{
id: "tag-1",
@@ -15,7 +15,7 @@ export const productsData = [
{
id: "test-2",
title: "product",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
tags: [
{
id: "tag-2",
@@ -26,7 +26,7 @@ export const productsData = [
{
id: "test-3",
title: "product 3",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
tags: [
{
id: "tag-3",
@@ -1,4 +1,4 @@
import { ProductTypes } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { SqlEntityManager } from "@mikro-orm/postgresql"
import {
Image,
@@ -18,7 +18,7 @@ export async function createProductAndTags(
data: {
id?: string
title: string
status: ProductTypes.ProductStatus
status: ProductStatus
tags?: { id: string; value: string }[]
collection_id?: string
}[]
@@ -37,7 +37,7 @@ export async function createProductAndTypes(
data: {
id?: string
title: string
status: ProductTypes.ProductStatus
status: ProductStatus
type?: { id: string; value: string }
}[]
) {
@@ -1,5 +1,6 @@
import { Modules } from "@medusajs/modules-sdk"
import { IProductModuleService, ProductTypes } from "@medusajs/types"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product, ProductCategory } from "@models"
import {
MockEventBusService,
@@ -33,13 +34,13 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
productTwo = testManager.create(Product, {
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
const productCategoriesData = [
@@ -1,9 +1,13 @@
import { IProductModuleService, ProductTypes } from "@medusajs/types"
import { Product, ProductCollection } from "@models"
import { MockEventBusService } from "medusa-test-utils"
import { createCollections } from "../../../__fixtures__/product"
import { Modules } from "@medusajs/modules-sdk"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product, ProductCollection } from "@models"
import {
MockEventBusService,
SuiteOptions,
moduleIntegrationTestRunner,
} from "medusa-test-utils"
import { createCollections } from "../../../__fixtures__/product"
jest.setTimeout(30000)
@@ -29,13 +33,13 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
productTwo = testManager.create(Product, {
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
const productCollectionsData = [
@@ -1,7 +1,8 @@
import { IProductModuleService, ProductTypes } from "@medusajs/types"
import { Product, ProductOption } from "@models"
import { Modules } from "@medusajs/modules-sdk"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product, ProductOption } from "@models"
import { SuiteOptions, moduleIntegrationTestRunner } from "medusa-test-utils"
jest.setTimeout(30000)
@@ -22,13 +23,13 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
productTwo = testManager.create(Product, {
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
optionOne = testManager.create(ProductOption, {
@@ -1,7 +1,8 @@
import { Modules } from "@medusajs/modules-sdk"
import { IProductModuleService, ProductTypes } from "@medusajs/types"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product, ProductTag } from "@models"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { SuiteOptions, moduleIntegrationTestRunner } from "medusa-test-utils"
jest.setTimeout(30000)
@@ -22,13 +23,13 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
productTwo = testManager.create(Product, {
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
tagOne = testManager.create(ProductTag, {
@@ -1,5 +1,6 @@
import { Modules } from "@medusajs/modules-sdk"
import { IProductModuleService, ProductTypes } from "@medusajs/types"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product, ProductVariant } from "@models"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
@@ -22,7 +23,7 @@ moduleIntegrationTestRunner({
productOne = await service.create({
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
options: [
{
title: "size",
@@ -38,7 +39,7 @@ moduleIntegrationTestRunner({
productTwo = await service.create({
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
variantOne = await service.createVariants({
@@ -1,14 +1,14 @@
import { Modules } from "@medusajs/modules-sdk"
import { IProductModuleService, ProductTypes } from "@medusajs/types"
import { kebabCase } from "@medusajs/utils"
import { IProductModuleService } from "@medusajs/types"
import { kebabCase, ProductStatus } from "@medusajs/utils"
import {
Product,
ProductCategory,
ProductCollection,
ProductType,
ProductVariant,
} from "@models"
import { UpdateProductInput } from "@types"
import {
MockEventBusService,
moduleIntegrationTestRunner,
@@ -17,7 +17,6 @@ import {
import { createCollections, createTypes } from "../../../__fixtures__/product"
import { createProductCategories } from "../../../__fixtures__/product-category"
import { buildProductAndRelationsData } from "../../../__fixtures__/product/data/create-product"
import { UpdateProductInput } from "@types"
jest.setTimeout(300000)
@@ -114,7 +113,7 @@ moduleIntegrationTestRunner({
productOne = service.create({
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
variants: [
{
id: "variant-1",
@@ -126,7 +125,7 @@ moduleIntegrationTestRunner({
productTwo = service.create({
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
categories: [{ id: productCategoryOne.id }],
collection_id: productCollectionOne.id,
tags: tagsData,
@@ -1,12 +1,10 @@
import { ProductOptionService } from "@services"
import { Product } from "@models"
import { createOptions } from "../../../__fixtures__/product"
import { ProductTypes } from "@medusajs/types"
import { Modules } from "@medusajs/modules-sdk"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product } from "@models"
import { ProductOptionService } from "@services"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { createOptions } from "../../../__fixtures__/product"
jest.setTimeout(30000)
@@ -29,13 +27,13 @@ moduleIntegrationTestRunner({
const productOneData = {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
}
const productTwoData = {
id: "product-2",
title: "product 2",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
}
beforeEach(async () => {
@@ -1,11 +1,10 @@
import { Modules } from "@medusajs/modules-sdk"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product } from "@models"
import { ProductTagService } from "@services"
import { ProductTypes } from "@medusajs/types"
import { createProductAndTags } from "../../../__fixtures__/product"
import { Modules } from "@medusajs/modules-sdk"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { IProductModuleService } from "@medusajs/types"
import { createProductAndTags } from "../../../__fixtures__/product"
jest.setTimeout(30000)
@@ -27,7 +26,7 @@ moduleIntegrationTestRunner({
{
id: "test-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
tags: [
{
id: "tag-1",
@@ -38,7 +37,7 @@ moduleIntegrationTestRunner({
{
id: "test-2",
title: "product",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
tags: [
{
id: "tag-2",
@@ -1,11 +1,10 @@
import { ProductTypeService } from "@services"
import { Product } from "@models"
import { createProductAndTypes } from "../../../__fixtures__/product"
import { ProductTypes } from "@medusajs/types"
import { Modules } from "@medusajs/modules-sdk"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Product } from "@models"
import { ProductTypeService } from "@services"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { createProductAndTypes } from "../../../__fixtures__/product"
jest.setTimeout(30000)
@@ -27,7 +26,7 @@ moduleIntegrationTestRunner({
{
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
type: {
id: "type-1",
value: "Type 1",
@@ -36,7 +35,7 @@ moduleIntegrationTestRunner({
{
id: "product-2",
title: "product",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
type: {
id: "type-2",
value: "Type 2",
@@ -1,8 +1,5 @@
import {
InternalModuleService,
IProductModuleService,
ProductTypes,
} from "@medusajs/types"
import { InternalModuleService, IProductModuleService } from "@medusajs/types"
import { ProductStatus } from "@medusajs/utils"
import { Collection } from "@mikro-orm/core"
import { Product, ProductOption, ProductTag, ProductVariant } from "@models"
import {
@@ -42,7 +39,7 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
variantOne = testManager.create(ProductVariant, {
@@ -251,7 +248,7 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
variantOne = testManager.create(ProductVariant, {
@@ -8,23 +8,18 @@ import {
createProductVariants,
} from "../../../__fixtures__/product"
import { Modules } from "@medusajs/modules-sdk"
import { IProductModuleService, ProductDTO } from "@medusajs/types"
import { ProductStatus, kebabCase } from "@medusajs/utils"
import { SqlEntityManager } from "@mikro-orm/postgresql"
import { ProductService } from "@services"
import { SuiteOptions, moduleIntegrationTestRunner } from "medusa-test-utils"
import { createProductCategories } from "../../../__fixtures__/product-category"
import {
categoriesData,
productsData,
variantsData,
} from "../../../__fixtures__/product/data"
import { ProductService } from "@services"
import {
IProductModuleService,
ProductDTO,
ProductTypes,
} from "@medusajs/types"
import { kebabCase } from "@medusajs/utils"
import { SqlEntityManager } from "@mikro-orm/postgresql"
import { createProductCategories } from "../../../__fixtures__/product-category"
import { Modules } from "@medusajs/modules-sdk"
import { moduleIntegrationTestRunner, SuiteOptions } from "medusa-test-utils"
import { ProductTag } from "../../../../src/models"
jest.setTimeout(30000)
@@ -52,7 +47,7 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
await testManager.persistAndFlush([productOne])
@@ -145,7 +140,7 @@ moduleIntegrationTestRunner({
productOne = testManager.create(Product, {
id: "product-1",
title: "product 1",
status: ProductTypes.ProductStatus.PUBLISHED,
status: ProductStatus.PUBLISHED,
})
await testManager.persistAndFlush([productOne])