Files
iyzico/tests/fixtures/card.ts
Duhan BALCI c65195d26d init
2026-01-01 18:30:21 +03:00

50 lines
1.4 KiB
TypeScript

/**
* Card storage test fixtures with randomized personal data
*/
import { faker } from '@faker-js/faker';
import type { Card, CardCreateRequest, CardCreateWithUserKeyRequest } from '../../src/types';
/**
* Generates a test card with randomized holder name
* Card number is fixed to iyzico sandbox test card
*/
export function createTestCard(): Card {
return {
cardAlias: faker.helpers.arrayElement(['My Card', 'Personal Card', 'Main Card', 'Default Card']),
cardNumber: '5528790000000008', // iyzico sandbox test card
expireYear: '2030',
expireMonth: '12',
cardHolderName: faker.person.fullName(),
};
}
/**
* Generates a test card create request with randomized data
*/
export function createTestCardCreateRequest(): CardCreateRequest {
return {
locale: 'tr',
conversationId: faker.string.uuid(),
email: faker.internet.email().toLowerCase(),
externalId: `external-${faker.string.alphanumeric(10)}`,
card: createTestCard(),
};
}
/**
* Generates a test card create request with user key
*/
export function createCardCreateWithUserKeyRequest(cardUserKey: string): CardCreateWithUserKeyRequest {
return {
locale: 'tr',
conversationId: faker.string.uuid(),
cardUserKey,
card: createTestCard(),
};
}
// Legacy exports for backward compatibility (static versions that generate once)
export const testCard = createTestCard();
export const testCardCreateRequest = createTestCardCreateRequest();