diff --git a/dev/payload.config.ts b/dev/payload.config.ts index f7db56d..e746f8a 100644 --- a/dev/payload.config.ts +++ b/dev/payload.config.ts @@ -8,7 +8,7 @@ import { fileURLToPath } from 'url' import { testEmailAdapter } from './helpers/testEmailAdapter' import { seed } from './seed' import billingPlugin from '../src/plugin' -import { mollieProvider } from '../src/providers' +import { testProvider } from '../src/providers' const filename = fileURLToPath(import.meta.url) const dirname = path.dirname(filename) @@ -50,8 +50,13 @@ const buildConfigWithSQLite = () => { plugins: [ billingPlugin({ providers: [ - mollieProvider({ - apiKey: process.env.MOLLIE_KEY! + testProvider({ + enabled: true, + testModeIndicators: { + showWarningBanners: true, + showTestBadges: true, + consoleWarnings: true + } }) ], collections: { diff --git a/playwright-report/index.html b/playwright-report/index.html new file mode 100644 index 0000000..f3b914f --- /dev/null +++ b/playwright-report/index.html @@ -0,0 +1,76 @@ + + + + + + + + + Playwright Test Report + + + + +
+ + + \ No newline at end of file diff --git a/src/collections/hooks.ts b/src/collections/hooks.ts index 7a0a289..0e62ef8 100644 --- a/src/collections/hooks.ts +++ b/src/collections/hooks.ts @@ -1,6 +1,6 @@ -import type { Payment } from '../plugin/types/index.js' +import type { Payment } from '../plugin/types/index' import type { Payload } from 'payload' -import { useBillingPlugin } from '../plugin/index.js' +import { useBillingPlugin } from '../plugin/index' export const initProviderPayment = (payload: Payload, payment: Partial) => { const billing = useBillingPlugin(payload) diff --git a/src/collections/index.ts b/src/collections/index.ts index 72abd52..c0f2f5a 100644 --- a/src/collections/index.ts +++ b/src/collections/index.ts @@ -1,3 +1,3 @@ -export { createInvoicesCollection } from './invoices.js' -export { createPaymentsCollection } from './payments.js' -export { createRefundsCollection } from './refunds.js' +export { createInvoicesCollection } from './invoices' +export { createPaymentsCollection } from './payments' +export { createRefundsCollection } from './refunds' diff --git a/src/collections/invoices.ts b/src/collections/invoices.ts index 77a3978..6731797 100644 --- a/src/collections/invoices.ts +++ b/src/collections/invoices.ts @@ -5,10 +5,10 @@ import { CollectionBeforeValidateHook, CollectionConfig, Field, } from 'payload' -import type { BillingPluginConfig} from '../plugin/config.js'; -import { defaults } from '../plugin/config.js' -import { extractSlug } from '../plugin/utils.js' -import type { Invoice } from '../plugin/types/invoices.js' +import type { BillingPluginConfig} from '../plugin/config'; +import { defaults } from '../plugin/config' +import { extractSlug } from '../plugin/utils' +import type { Invoice } from '../plugin/types/invoices' export function createInvoicesCollection(pluginConfig: BillingPluginConfig): CollectionConfig { const {customerRelationSlug, customerInfoExtractor} = pluginConfig diff --git a/src/collections/payments.ts b/src/collections/payments.ts index 68978f7..c6263e5 100644 --- a/src/collections/payments.ts +++ b/src/collections/payments.ts @@ -1,9 +1,9 @@ import type { AccessArgs, CollectionBeforeChangeHook, CollectionConfig, Field } from 'payload' -import type { BillingPluginConfig} from '../plugin/config.js'; -import { defaults } from '../plugin/config.js' -import { extractSlug } from '../plugin/utils.js' -import type { Payment } from '../plugin/types/payments.js' -import { initProviderPayment } from './hooks.js' +import type { BillingPluginConfig} from '../plugin/config'; +import { defaults } from '../plugin/config' +import { extractSlug } from '../plugin/utils' +import type { Payment } from '../plugin/types/payments' +import { initProviderPayment } from './hooks' export function createPaymentsCollection(pluginConfig: BillingPluginConfig): CollectionConfig { const overrides = typeof pluginConfig.collections?.payments === 'object' ? pluginConfig.collections?.payments : {} diff --git a/src/collections/refunds.ts b/src/collections/refunds.ts index bca2f24..66fc6d8 100644 --- a/src/collections/refunds.ts +++ b/src/collections/refunds.ts @@ -1,7 +1,7 @@ import type { AccessArgs, CollectionConfig } from 'payload' -import { BillingPluginConfig, defaults } from '../plugin/config.js' -import { extractSlug } from '../plugin/utils.js' -import { Payment } from '../plugin/types/index.js' +import { BillingPluginConfig, defaults } from '../plugin/config' +import { extractSlug } from '../plugin/utils' +import { Payment } from '../plugin/types/index' export function createRefundsCollection(pluginConfig: BillingPluginConfig): CollectionConfig { // TODO: finish collection overrides diff --git a/src/plugin/config.ts b/src/plugin/config.ts index e2e5665..1e7f8c7 100644 --- a/src/plugin/config.ts +++ b/src/plugin/config.ts @@ -1,6 +1,6 @@ import { CollectionConfig } from 'payload' -import { FieldsOverride } from './utils.js' -import { PaymentProvider } from './types/index.js' +import { FieldsOverride } from './utils' +import { PaymentProvider } from './types/index' export const defaults = { paymentsCollection: 'payments', @@ -20,7 +20,7 @@ export interface TestProviderConfig { } // Re-export the actual test provider config instead of duplicating -export type { TestProviderConfig as AdvancedTestProviderConfig } from '../providers/test.js' +export type { TestProviderConfig as AdvancedTestProviderConfig } from '../providers/test' // Customer info extractor callback type export interface CustomerInfoExtractor { diff --git a/src/plugin/index.ts b/src/plugin/index.ts index a8d5d97..7e837fe 100644 --- a/src/plugin/index.ts +++ b/src/plugin/index.ts @@ -1,8 +1,8 @@ -import { createInvoicesCollection, createPaymentsCollection, createRefundsCollection } from '../collections/index.js' -import type { BillingPluginConfig } from './config.js' +import { createInvoicesCollection, createPaymentsCollection, createRefundsCollection } from '../collections/index' +import type { BillingPluginConfig } from './config' import type { Config, Payload } from 'payload' -import { createSingleton } from './singleton.js' -import type { PaymentProvider } from '../providers/index.js' +import { createSingleton } from './singleton' +import type { PaymentProvider } from '../providers/index' const singleton = createSingleton(Symbol('billingPlugin')) diff --git a/src/plugin/types/invoices.ts b/src/plugin/types/invoices.ts index fdc1719..8249b7a 100644 --- a/src/plugin/types/invoices.ts +++ b/src/plugin/types/invoices.ts @@ -1,5 +1,5 @@ -import { Payment } from './payments.js' -import { Id } from './id.js' +import { Payment } from './payments' +import { Id } from './id' export interface Invoice { id: Id; diff --git a/src/plugin/types/payments.ts b/src/plugin/types/payments.ts index 1d8b79c..5e803a9 100644 --- a/src/plugin/types/payments.ts +++ b/src/plugin/types/payments.ts @@ -1,6 +1,6 @@ -import { Refund } from './refunds.js' -import { Invoice } from './invoices.js' -import { Id } from './id.js' +import { Refund } from './refunds' +import { Invoice } from './invoices' +import { Id } from './id' export interface Payment { id: Id; diff --git a/src/plugin/types/refunds.ts b/src/plugin/types/refunds.ts index 1cab98b..df05c51 100644 --- a/src/plugin/types/refunds.ts +++ b/src/plugin/types/refunds.ts @@ -1,4 +1,4 @@ -import { Payment } from './payments.js' +import { Payment } from './payments' export interface Refund { id: number; diff --git a/src/plugin/utils.ts b/src/plugin/utils.ts index b9a7dae..9d81725 100644 --- a/src/plugin/utils.ts +++ b/src/plugin/utils.ts @@ -1,5 +1,5 @@ import type { CollectionConfig, CollectionSlug, Field } from 'payload' -import type { Id } from './types/index.js' +import type { Id } from './types/index' export type FieldsOverride = (args: { defaultFields: Field[] }) => Field[] diff --git a/src/providers/index.ts b/src/providers/index.ts index b12969a..c593f82 100644 --- a/src/providers/index.ts +++ b/src/providers/index.ts @@ -1,10 +1,10 @@ -export * from './mollie.js' -export * from './stripe.js' -export * from './test.js' -export * from './types.js' -export * from './currency.js' +export * from './mollie' +export * from './stripe' +export * from './test' +export * from './types' +export * from './currency' // Re-export provider configurations and types -export type { StripeProviderConfig } from './stripe.js' -export type { MollieProviderConfig } from './mollie.js' -export type { TestProviderConfig, PaymentOutcome, PaymentMethod, PaymentScenario } from './test.js' +export type { StripeProviderConfig } from './stripe' +export type { MollieProviderConfig } from './mollie' +export type { TestProviderConfig, PaymentOutcome, PaymentMethod, PaymentScenario } from './test' diff --git a/src/providers/mollie.ts b/src/providers/mollie.ts index af8918c..208a6f1 100644 --- a/src/providers/mollie.ts +++ b/src/providers/mollie.ts @@ -1,7 +1,7 @@ -import type { Payment } from '../plugin/types/payments.js' -import type { PaymentProvider } from '../plugin/types/index.js' +import type { Payment } from '../plugin/types/payments' +import type { PaymentProvider } from '../plugin/types/index' import type { Payload } from 'payload' -import { createSingleton } from '../plugin/singleton.js' +import { createSingleton } from '../plugin/singleton' import type { createMollieClient, MollieClient } from '@mollie/api-client' import { webhookResponses, @@ -10,8 +10,8 @@ import { updateInvoiceOnPaymentSuccess, handleWebhookError, validateProductionUrl -} from './utils.js' -import { formatAmountForProvider, isValidAmount, isValidCurrencyCode } from './currency.js' +} from './utils' +import { formatAmountForProvider, isValidAmount, isValidCurrencyCode } from './currency' const symbol = Symbol('mollie') export type MollieProviderConfig = Parameters[0] diff --git a/src/providers/stripe.ts b/src/providers/stripe.ts index fc64f94..28dca74 100644 --- a/src/providers/stripe.ts +++ b/src/providers/stripe.ts @@ -1,7 +1,7 @@ -import type { Payment } from '../plugin/types/payments.js' -import type { PaymentProvider, ProviderData } from '../plugin/types/index.js' +import type { Payment } from '../plugin/types/payments' +import type { PaymentProvider, ProviderData } from '../plugin/types/index' import type { Payload } from 'payload' -import { createSingleton } from '../plugin/singleton.js' +import { createSingleton } from '../plugin/singleton' import type Stripe from 'stripe' import { webhookResponses, @@ -10,8 +10,8 @@ import { updateInvoiceOnPaymentSuccess, handleWebhookError, logWebhookEvent -} from './utils.js' -import { isValidAmount, isValidCurrencyCode } from './currency.js' +} from './utils' +import { isValidAmount, isValidCurrencyCode } from './currency' const symbol = Symbol('stripe') diff --git a/src/providers/test.ts b/src/providers/test.ts index f48e50b..09236a5 100644 --- a/src/providers/test.ts +++ b/src/providers/test.ts @@ -1,9 +1,9 @@ -import type { Payment } from '../plugin/types/payments.js' -import type { PaymentProvider, ProviderData } from '../plugin/types/index.js' -import type { BillingPluginConfig } from '../plugin/config.js' +import type { Payment } from '../plugin/types/payments' +import type { PaymentProvider, ProviderData } from '../plugin/types/index' +import type { BillingPluginConfig } from '../plugin/config' import type { Payload } from 'payload' -import { handleWebhookError, logWebhookEvent } from './utils.js' -import { isValidAmount, isValidCurrencyCode } from './currency.js' +import { handleWebhookError, logWebhookEvent } from './utils' +import { isValidAmount, isValidCurrencyCode } from './currency' export type PaymentOutcome = 'paid' | 'failed' | 'cancelled' | 'expired' | 'pending' diff --git a/src/providers/types.ts b/src/providers/types.ts index 0950cf6..311e9ad 100644 --- a/src/providers/types.ts +++ b/src/providers/types.ts @@ -1,6 +1,6 @@ -import type { Payment } from '../plugin/types/payments.js' +import type { Payment } from '../plugin/types/payments' import type { Config, Payload } from 'payload' -import type { BillingPluginConfig } from '../plugin/config.js' +import type { BillingPluginConfig } from '../plugin/config' export type InitPayment = (payload: Payload, payment: Partial) => Promise> diff --git a/src/providers/utils.ts b/src/providers/utils.ts index 728d7c8..4241db5 100644 --- a/src/providers/utils.ts +++ b/src/providers/utils.ts @@ -1,9 +1,9 @@ import type { Payload } from 'payload' -import type { Payment } from '../plugin/types/payments.js' -import type { BillingPluginConfig } from '../plugin/config.js' -import type { ProviderData } from './types.js' -import { defaults } from '../plugin/config.js' -import { extractSlug, toPayloadId } from '../plugin/utils.js' +import type { Payment } from '../plugin/types/payments' +import type { BillingPluginConfig } from '../plugin/config' +import type { ProviderData } from './types' +import { defaults } from '../plugin/config' +import { extractSlug, toPayloadId } from '../plugin/utils' /** * Common webhook response utilities