This commit is contained in:
Duhan BALCI
2026-01-01 18:30:21 +03:00
commit c65195d26d
44 changed files with 8715 additions and 0 deletions

49
tests/fixtures/card.ts vendored Normal file
View File

@@ -0,0 +1,49 @@
/**
* 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();