UNPKG

ruch

Version:

Revolutionary React TypeScript CLI with hexagonal architecture & AI-powered development assistance. Create maintainable, scalable applications with domain-driven design and integrated AI tooling.

138 lines (121 loc) 2.88 kB
// Payment Domain Mock Data // This file contains mock data and utilities for payment domain testing /** * TODO: Replace this interface with your actual Payment entity * Import from: '../entities/Payment' */ interface Payment { id: string; name: string; createdAt: string; updatedAt: string; // Add your domain-specific fields here } /** * Mock payment data store */ class MockPaymentData { private data: Payment[] = [ { id: '1', name: 'Sample Payment 1', createdAt: '2025-01-01T00:00:00Z', updatedAt: '2025-01-01T00:00:00Z', }, { id: '2', name: 'Sample Payment 2', createdAt: '2025-01-02T00:00:00Z', updatedAt: '2025-01-02T00:00:00Z', }, { id: '3', name: 'Sample Payment 3', createdAt: '2025-01-03T00:00:00Z', updatedAt: '2025-01-03T00:00:00Z', }, ]; /** * Get all payment items */ getAll(): Payment[] { return [...this.data]; } /** * Get payment item by ID */ getById(id: string): Payment | undefined { return this.data.find(item => item.id === id); } /** * Create new payment item */ create(item: Partial<Payment>): Payment { const newItem: Payment = { id: Date.now().toString(), name: item.name || 'New Payment', createdAt: new Date().toISOString(), updatedAt: new Date().toISOString(), ...item, }; this.data.push(newItem); return newItem; } /** * Update payment item */ update(id: string, updates: Partial<Payment>): Payment | undefined { const index = this.data.findIndex(item => item.id === id); if (index === -1) { return undefined; } this.data[index] = { ...this.data[index], ...updates, updatedAt: new Date().toISOString(), }; return this.data[index]; } /** * Delete payment item */ delete(id: string): boolean { const index = this.data.findIndex(item => item.id === id); if (index === -1) { return false; } this.data.splice(index, 1); return true; } /** * Reset data to initial state (useful for tests) */ reset(): void { this.data = [ { id: '1', name: 'Sample Payment 1', createdAt: '2025-01-01T00:00:00Z', updatedAt: '2025-01-01T00:00:00Z', }, { id: '2', name: 'Sample Payment 2', createdAt: '2025-01-02T00:00:00Z', updatedAt: '2025-01-02T00:00:00Z', }, { id: '3', name: 'Sample Payment 3', createdAt: '2025-01-03T00:00:00Z', updatedAt: '2025-01-03T00:00:00Z', }, ]; } /** * Add custom methods for your domain-specific operations * Example: getByStatus, getByUser, etc. */ } // Export singleton instance export const mockPaymentData = new MockPaymentData();