Files
roa2web-service-auto/reports-app/frontend/tests/fixtures/invoices.js
Marius Mutu 6b13ffa183 Initial commit: ROA2WEB - FastAPI + Vue.js + Telegram Bot
Modern ERP Reports Application with microservices architecture

Tech Stack:
- Backend: FastAPI + python-oracledb (Oracle DB integration)
- Frontend: Vue.js 3 + PrimeVue + Vite
- Telegram Bot: python-telegram-bot + SQLite
- Infrastructure: Shared database pool, JWT authentication, SSH tunnel

Features:
- FastAPI backend with async Oracle connection pool
- Vue.js 3 responsive frontend with PrimeVue components
- Telegram bot alternative interface
- Microservices architecture with shared components
- Complete deployment support (Linux Docker + Windows IIS)
- Comprehensive testing (Playwright E2E + pytest)

Repository Structure:
- reports-app/ - Main application (backend, frontend, telegram-bot)
- shared/ - Shared components (database pool, auth, utils)
- deployment/ - Deployment scripts (Linux & Windows)
- docs/ - Project documentation
- security/ - Security scanning and git hooks
2025-10-25 14:55:08 +03:00

142 lines
2.7 KiB
JavaScript

export const mockInvoices = [
{
id: 1,
number: 'INV001',
date: '2024-01-15',
client_name: 'SC CLIENT TEST SRL',
amount: 25000.50,
currency: 'RON',
status: 'paid',
due_date: '2024-02-15',
payment_date: '2024-02-10'
},
{
id: 2,
number: 'INV002',
date: '2024-01-20',
client_name: 'CLIENT EXEMPLU SA',
amount: 18500.75,
currency: 'RON',
status: 'unpaid',
due_date: '2024-02-20',
payment_date: null
},
{
id: 3,
number: 'INV003',
date: '2024-01-25',
client_name: 'FIRMA TEST SRL',
amount: 12750.00,
currency: 'RON',
status: 'overdue',
due_date: '2024-02-25',
payment_date: null
},
{
id: 4,
number: 'INV004',
date: '2024-02-01',
client_name: 'COMPANIA ABC SRL',
amount: 35000.00,
currency: 'RON',
status: 'paid',
due_date: '2024-03-01',
payment_date: '2024-02-28'
},
{
id: 5,
number: 'INV005',
date: '2024-02-05',
client_name: 'BUSINESS PARTNER SA',
amount: 8900.25,
currency: 'RON',
status: 'unpaid',
due_date: '2024-03-05',
payment_date: null
}
];
export const mockInvoiceDetails = {
id: 1,
number: 'INV001',
date: '2024-01-15',
due_date: '2024-02-15',
client: {
name: 'SC CLIENT TEST SRL',
tax_code: 'RO12345678',
address: 'Strada Exemplu, Nr. 123, București',
phone: '+40 21 123 4567',
email: 'contact@clienttest.ro'
},
items: [
{
description: 'Servicii consultanță',
quantity: 10,
unit_price: 2000.00,
amount: 20000.00
},
{
description: 'Servicii implementare',
quantity: 5,
unit_price: 1000.10,
amount: 5000.50
}
],
subtotal: 25000.50,
tax_rate: 19,
tax_amount: 4750.10,
total: 29750.60,
currency: 'RON',
status: 'paid',
payment_date: '2024-02-10',
payment_method: 'Transfer bancar',
notes: 'Factura plătită la termen'
};
export const invoiceStatuses = {
paid: 'Plătit',
unpaid: 'Neplătit',
overdue: 'Întârziat',
draft: 'Proiect',
cancelled: 'Anulat'
};
export const invoiceFilters = {
status: ['all', 'paid', 'unpaid', 'overdue'],
dateRange: {
thisMonth: 'Această lună',
lastMonth: 'Luna trecută',
thisYear: 'Acest an',
custom: 'Personalizat'
},
sortBy: {
date: 'Data',
number: 'Număr',
client: 'Client',
amount: 'Sumă',
status: 'Status'
}
};
export const mockApiResponses = {
invoicesSuccess: {
status: 200,
body: {
items: mockInvoices,
total: mockInvoices.length,
page: 1,
size: 10,
pages: 1
}
},
invoicesError: {
status: 500,
body: {
detail: 'Error fetching invoices'
}
},
invoiceDetailsSuccess: {
status: 200,
body: mockInvoiceDetails
}
};