PASS Tests\Unit\ExampleTest ✓ that true is true 0.01s PASS Tests\Feature\AccountStartBalanceTest ✓ cannot change start balance from accounts screen after movements exist 0.52s ✅ دفتر الأستاذ متطابق: 100000 = 100000 ✅ منع التكرار مفعّل ✅ سلامة بيانات التقارير مؤكدة • إجمالي الأصول: 118000 • إجمالي الالتزامات والملكية: 118000 ✅ الأداء تحت الحمل جيد: 524.12 ms لـ 1000 قيد FAIL Tests\Feature\AccountingIntegrityTest ✓ ledger must be balanced 0.08s ⨯ accounting equation must hold 0.04s ✓ duplicate entry prevention 0.03s ⨯ account balances sign correctness 0.03s ⨯ sales invoice posting accuracy 0.03s ⨯ purchase invoice posting accuracy 0.03s ⨯ prevent posting without cost price 0.03s ⨯ cogs calculation accuracy 0.03s ✓ reports data integrity 0.03s ✓ performance under heavy load 0.55s FAIL Tests\Feature\AccountingStructureTest ⨯ chart of accounts structure integrity 0.03s ✓ basic accounting equation 0.03s ⨯ complete sales cycle 0.03s ⨯ complete purchase cycle 0.03s ⨯ general ledger balance 0.03s ⨯ trial balance report 0.03s ⨯ balance sheet report 0.03s ⨯ income statement report 0.03s ⨯ account reconciliation 0.03s ⨯ period closing 0.03s ⨯ subsidiary and control accounts 0.03s FAIL Tests\Feature\Auth\AuthenticationTest ✓ login screen can be rendered 0.03s ⨯ users can authenticate using the login screen 0.04s ✓ users can not authenticate with invalid password 0.23s ✓ users can logout 0.04s FAIL Tests\Feature\Auth\EmailVerificationTest ⨯ email verification screen can be rendered 0.03s ⨯ email can be verified 0.03s ⨯ email is not verified with invalid hash 0.02s FAIL Tests\Feature\Auth\PasswordConfirmationTest ⨯ confirm password screen can be rendered 0.03s ⨯ password can be confirmed 0.02s ⨯ password is not confirmed with invalid password 0.03s FAIL Tests\Feature\Auth\PasswordResetTest ⨯ reset password link screen can be rendered 0.03s ⨯ reset password link can be requested 0.03s ⨯ reset password screen can be rendered 0.02s ⨯ password can be reset with valid token 0.03s FAIL Tests\Feature\Auth\PasswordUpdateTest ⨯ password can be updated 0.03s ⨯ correct password must be provided to update password 0.02s FAIL Tests\Feature\Auth\RegistrationTest ⨯ registration screen can be rendered 0.03s ⨯ new users can register 0.03s FAIL Tests\Feature\ExampleTest ⨯ it returns a successful response 0.02s ╔════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ 🚀 اختبار قياس الأداء الشامل للمشروع 🚀 ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════╝ 📊 اختبار سرعة إنشاء البيانات: ──────────────────────────────────────────── ✅ إنشاء 100 حساب: 16.71 ms FAIL Tests\Feature\PerformanceBenchmarkTest ⨯ comprehensive performance benchmark 0.04s FAIL Tests\Feature\ProfileTest ⨯ profile page is displayed 0.03s ⨯ profile information can be updated 0.02s ⨯ email verification status is unchanged when the email address is unchanged 0.03s ⨯ user can delete their account 0.03s ⨯ correct password must be provided to delete account 0.03s FAIL Tests\Feature\ProjectPerformanceTest ⨯ create basic data performance 0.06s ⨯ chart of accounts structure 0.03s ⨯ accounting equation 0.02s ⨯ sales purchase operations performance 0.03s ⨯ posting to ledger performance 0.03s ⨯ accounting reports performance 0.02s ⨯ account balances accuracy 0.02s ⨯ query performance 0.02s ⨯ security validations 0.03s ✓ overall project compatibility 0.03s ╔════════════════════════════════════════════════════════════════════════╗ ║ ║ ║ 📋 جميع مجموعات الاختبارات المتاحة 📋 ║ ║ ║ ╚════════════════════════════════════════════════════════════════════════╝ ╔═══════════════════════════════════════════════════════════════════════╗ ║ 1️⃣ ProjectPerformanceTest.php ║ ║ اختبارات قياس الأداء والسرعة ║ ╠═══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ ✅ test_create_basic_data_performance ║ ║ • قياس سرعة إنشاء 50 حساب ║ ║ • قياس سرعة إنشاء 50 عميل ║ ║ • قياس سرعة إنشاء 100 مادة ║ ║ • قياس سرعة إنشاء 30 مورد ║ ║ ║ ║ ✅ test_chart_of_accounts_structure ║ ║ • التحقق من هرمية الحسابات (Assets, Liabilities, etc.) ║ ║ • التحقق من الجانب الطبيعي (Debit/Credit) ║ ║ • التحقق من أكواد الحسابات الفريدة ║ ║ ║ ║ ✅ test_accounting_equation ║ ║ • اختبار معادلة المحاسبة (Assets = Liabilities + Equity) ║ ║ • التحقق من توازن القيود اليومية ║ ║ ║ ║ ✅ test_sales_purchase_operations_performance ║ ║ • قياس سرعة إنشاء فاتورة مبيعات ║ ║ • قياس سرعة إنشاء فاتورة شراء ║ ║ ║ ║ ✅ test_posting_to_ledger_performance ║ ║ • قياس سرعة ترحيل فاتورة المبيعات ║ ║ • قياس سرعة ترحيل فاتورة الشراء ║ ║ ║ ║ ✅ test_accounting_reports_performance ║ ║ • قياس سرعة تقرير محاولة المراجعة (Trial Balance) ║ ║ • قياس سرعة تقرير الميزانية العمومية ║ ║ • قياس سرعة تقرير قائمة الدخل ║ ║ ║ ║ ✅ test_account_balances_accuracy ║ ║ • التحقق من دقة حساب الأرصدة ║ ║ • اختبار 10 قيود يومية متتالية ║ ║ ║ ║ ✅ test_query_performance ║ ║ • قياس سرعة البحث عن 500 حساب ║ ║ • قياس سرعة البحث عن 200 عميل ║ ║ • قياس سرعة البحث عن 300 مادة ║ ║ ║ ║ ✅ test_security_validations ║ ║ • اختبار منع ترحيل فاتورة بدون تكلفة منتج ║ ║ ║ ║ ✅ test_overall_project_compatibility ║ ║ • التحقق من وجود جميع الخدمات والنماذج ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════════╝ ╔═══════════════════════════════════════════════════════════════════════╗ ║ 2️⃣ AccountingStructureTest.php ║ ║ اختبارات الهيكل المحاسبي والدقة ║ ╠═══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ ✅ test_chart_of_accounts_structure_integrity ║ ║ • التحقق من سلامة دليل الحسابات ║ ║ • التحقق من الجانب الطبيعي لكل نوع حساب ║ ║ • التحقق من فريدية أكواد الحسابات ║ ║ ║ ║ ✅ test_basic_accounting_equation ║ ║ • اختبار معادلة المحاسبة الأساسية (A = L + E) ║ ║ • التحقق من توازن افتتاح الرصيد ║ ║ ║ ║ ✅ test_complete_sales_cycle ║ ║ • إنشاء فاتورة مبيعات ║ ║ • ترحيلها إلى دفتر الأستاذ ║ ║ • التحقق من الأرصدة (AR و Revenue) ║ ║ ║ ║ ✅ test_complete_purchase_cycle ║ ║ • إنشاء فاتورة شراء ║ ║ • ترحيلها إلى دفتر الأستاذ ║ ║ • التحقق من الأرصدة (Inventory و AP) ║ ║ ║ ║ ✅ test_general_ledger_balance ║ ║ • اختبار توازن دفتر الأستاذ ║ ║ • 5 قيود متوازنة ║ ║ ║ ║ ✅ test_trial_balance_report ║ ║ • توليد تقرير محاولة المراجعة ║ ║ • التحقق من التوازن ║ ║ ║ ║ ✅ test_balance_sheet_report ║ ║ • توليد الميزانية العمومية ║ ║ • التحقق من معادلة المحاسبة ║ ║ ║ ║ ✅ test_income_statement_report ║ ║ • توليد قائمة الدخل ║ ║ • التحقق من صافي الدخل = الإيرادات - المصروفات ║ ║ ║ ║ ✅ test_account_reconciliation ║ ║ • اختبار عملية المراجعة والتطابق ║ ║ • 10 قيود مع حساب واحد ║ ║ ║ ║ ✅ test_period_closing ║ ║ • اختبار إغلاق الفترة المحاسبية ║ ║ • نقل الأرباح إلى الأرباح المحتجزة ║ ║ ║ ║ ✅ test_subsidiary_and_control_accounts ║ ║ • اختبار الحسابات الجماعية والتفصيلية ║ ║ • التحقق من التطابق ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════════╝ ╔═══════════════════════════════════════════════════════════════════════╗ ║ 3️⃣ PerformanceBenchmarkTest.php ║ ║ قياس الأداء الشامل والمقارنات ║ ╠═══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ ✅ test_comprehensive_performance_benchmark ║ ║ ║ ║ 📊 اختبار سرعة إنشاء البيانات: ║ ║ • إنشاء 100 حساب ║ ║ • إنشاء 200 عميل ║ ║ • إنشاء 300 مادة ║ ║ • إنشاء 100 مورد ║ ║ • إنشاء 500 قيد يومي ║ ║ ║ ║ 🔍 اختبار سرعة الاستعلامات: ║ ║ • استعلام 100 حساب مع العلاقات ║ ║ • استعلام 200 عميل مع الفواتير ║ ║ • استعلام 300 مادة مع الفئات ║ ║ • استعلام 500 قيد مع البنود ║ ║ • استعلام الأرصدة المتقدم ║ ║ ║ ║ ⚙️ اختبار معالجة البيانات: ║ ║ • معالجة 100 حساب ║ ║ • معالجة 200 عميل ║ ║ • معالجة 300 مادة ║ ║ • معالجة 500 قيد يومي ║ ║ ║ ║ 📋 اختبار التقارير: ║ ║ • تقرير الأرصدة ║ ║ • تقرير مبيعات العملاء ║ ║ • تقرير مشتريات المورد ║ ║ • تقرير المخزون ║ ║ ║ ║ النتيجة: درجة أداء من 1 إلى 10 ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════════╝ ╔═══════════════════════════════════════════════════════════════════════╗ ║ 4️⃣ AccountingIntegrityTest.php ║ ║ اختبارات السلامة المحاسبية والتكامل ║ ╠═══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ ✅ test_ledger_must_be_balanced ║ ║ • اختبار 100 قيد يومي عشوائي ║ ║ • التحقق من أن مجموع الدائن = مجموع المدين ║ ║ ║ ║ ✅ test_accounting_equation_must_hold ║ ║ • اختبار A = L + E مع عمليات متنوعة ║ ║ • مبيعات وشراء وأرصدة افتتاح ║ ║ ║ ║ ✅ test_duplicate_entry_prevention ║ ║ • منع إنشاء قيود برقم متكرر ║ ║ ║ ║ ✅ test_account_balances_sign_correctness ║ ║ • الأصول موجبة دائماً ║ ║ • الالتزامات موجبة (بناءً على الجانب الطبيعي) ║ ║ • حقوق الملكية موجبة ║ ║ ║ ║ ✅ test_sales_invoice_posting_accuracy ║ ║ • إنشاء فاتورة مبيعات 7500 ║ ║ • ترحيلها إلى الدفتر ║ ║ • التحقق من AR = 7500 و Revenue = -7500 ║ ║ ║ ║ ✅ test_purchase_invoice_posting_accuracy ║ ║ • إنشاء فاتورة شراء 4000 ║ ║ • ترحيلها إلى الدفتر ║ ║ • التحقق من Inventory = 4000 و AP = -4000 ║ ║ ║ ║ ✅ test_prevent_posting_without_cost_price ║ ║ • محاولة ترحيل فاتورة بمنتج بدون تكلفة ║ ║ • التحقق من الفشل ║ ║ ║ ║ ✅ test_cogs_calculation_accuracy ║ ║ • اختبار حساب COGS بدقة ║ ║ • COGS = 50 * 100 = 5000 ║ ║ ║ ║ ✅ test_reports_data_integrity ║ ║ • التحقق من سلامة بيانات التقارير ║ ║ • عمليات افتتاح وبيع وشراء ║ ║ ║ ║ ✅ test_performance_under_heavy_load ║ ║ • إنشاء 1000 قيد يومي ║ ║ • يجب أن ينهي في أقل من 60 ثانية ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════════╝ ╔═══════════════════════════════════════════════════════════════════════╗ ║ 🚀 طريقة تشغيل الاختبارات 🚀 ║ ╠═══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ تشغيل جميع الاختبارات: ║ ║ php artisan test ║ ║ ║ ║ تشغيل مجموعة اختبار واحدة: ║ ║ php artisan test tests/Feature/ProjectPerformanceTest.php ║ ║ php artisan test tests/Feature/AccountingStructureTest.php ║ ║ php artisan test tests/Feature/PerformanceBenchmarkTest.php ║ ║ php artisan test tests/Feature/AccountingIntegrityTest.php ║ ║ ║ ║ تشغيل اختبار واحد فقط: ║ ║ php artisan test --filter=test_chart_of_accounts_structure ║ ║ ║ ║ تشغيل مع عرض التفاصيل: ║ ║ php artisan test --verbose ║ ║ ║ ║ تشغيل مع الإيقاف عند أول خطأ: ║ ║ php artisan test --stop-on-failure ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════════╝ ╔═══════════════════════════════════════════════════════════════════════╗ ║ 📊 ملخص الإحصائيات 📊 ║ ╠═══════════════════════════════════════════════════════════════════════╣ ║ ║ ║ • إجمالي مجموعات الاختبارات: 4 ║ ║ • إجمالي الاختبارات: 40+ ║ ║ ║ ║ التوزيع: ║ ║ • اختبارات الأداء: 10 ║ ║ • اختبارات الهيكل: 11 ║ ║ • اختبارات المقارنة: 1 ║ ║ • اختبارات السلامة: 10 ║ ║ ║ ║ الفترات المختبرة: ║ ║ ✅ البيانات الأساسية (5 اختبارات) ║ ║ ✅ الاستعلامات والبحث (5 اختبارات) ║ ║ ✅ المعالجة والتقارير (4 اختبارات) ║ ║ ✅ السلامة المحاسبية (10 اختبارات) ║ ║ ✅ التكامل والترابط (8 اختبارات) ║ ║ ║ ╚═══════════════════════════════════════════════════════════════════════╝ PASS Tests\Feature\TestsDocumentationTest ✓ display all available tests 0.03s ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingIntegrityTest > accounting equation must hold معادلة المحاسبة يجب أن تكون صحيحة: الأصول (-63000) = الالتزامات (8000) + حقوق الملكية (50000) Failed asserting that 58000.0 matches expected -63000.0. at tests\Feature\AccountingIntegrityTest.php:211 207▕ $liabilities = $this->calculateAccountTypeBalance($this->liabilityType->id); 208▕ $equity = $this->calculateAccountTypeBalance($this->equityType->id); 209▕ 210▕ // A = L + E ➜ 211▕ $this->assertEqualsWithDelta( 212▕ $assets, 213▕ $liabilities + $equity, 214▕ 0.01, 215▕ "معادلة المحاسبة يجب أن تكون صحيحة: الأصول ({$assets}) = الالتزامات ({$liabilities}) + حقوق الملكية ({$equity})" 1 tests\Feature\AccountingIntegrityTest.php:211 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingIntegrityTest > account balances sign correctness الأصول يجب أن تكون موجبة Failed asserting that -100000.0 is greater than 0. at tests\Feature\AccountingIntegrityTest.php:259 255▕ $this->createOpeningBalance(100000); 256▕ 257▕ // الأصول يجب أن تكون موجبة 258▕ $assetsBalance = $this->calculateAccountTypeBalance($this->assetType->id); ➜ 259▕ $this->assertGreaterThan(0, $assetsBalance, 'الأصول يجب أن تكون موجبة'); 260▕ 261▕ // الالتزامات يجب أن تكون موجبة (عندما يكون credit الطبيعي) 262▕ $liabilitiesBalance = $this->calculateAccountTypeBalance($this->liabilityType->id); 263▕ // قد تكون صفر في الحالة الأولية 1 tests\Feature\AccountingIntegrityTest.php:259 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingIntegrityTest > sales invoice posting accuracy QueryException SQLSTATE[HY000]: General error: 1 table items has no column named description (Connection: sqlite, Database: :memory:, SQL: insert into "items" ("user_id", "name", "description", "item_category_id", "cost_price", "selling_price", "items_code", "updated_at", "created_at") values (3, dolore, Pariatur deleniti voluptatum repudiandae., 1, 100, 150, ITM-000001, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingIntegrityTest > purchase invoice posting accuracy QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: suppliers.user_id (Connection: sqlite, Database: :memory:, SQL: insert into "suppliers" ("name", "phone", "email", "updated_at", "created_at") values (Morissette, Predovic and Bruen, +1-716-777-1530, floy.jaskolski@lehner.com, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingIntegrityTest > prevent posting without cost price QueryException SQLSTATE[HY000]: General error: 1 table items has no column named description (Connection: sqlite, Database: :memory:, SQL: insert into "items" ("user_id", "name", "description", "item_category_id", "cost_price", "selling_price", "items_code", "updated_at", "created_at") values (3, nam, Placeat sunt sit eum sint repudiandae deleniti., 1, ?, 150, ITM-000001, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingIntegrityTest > cogs calculation accuracy QueryException SQLSTATE[HY000]: General error: 1 table items has no column named description (Connection: sqlite, Database: :memory:, SQL: insert into "items" ("user_id", "name", "description", "item_category_id", "cost_price", "selling_price", "items_code", "updated_at", "created_at") values (3, soluta, Sapiente qui sit blanditiis recusandae., 1, 100, 150, ITM-000001, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > chart of accounts structure integrity ErrorException Undefined property: stdClass::$code at vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php:3705 3701▕ $results = []; 3702▕ 3703▕ if (is_null($key)) { 3704▕ foreach ($queryResult as $row) { ➜ 3705▕ $results[] = $row->$column; 3706▕ } 3707▕ } else { 3708▕ foreach ($queryResult as $row) { 3709▕ $results[$row->$key] = $row->$column; 1 vendor\laravel\framework\src\Illuminate\Database\Query\Builder.php:3666 2 vendor\laravel\framework\src\Illuminate\Database\Eloquent\Builder.php:1082 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > complete sales cycle QueryException SQLSTATE[HY000]: General error: 1 table customers has no column named name_ar (Connection: sqlite, Database: :memory:, SQL: insert into "customers" ("user_id", "code", "name", "phone", "email", "name_ar", "updated_at", "created_at") values (2, C479, Ahmed Company, 920.822.4134, schaefer.ricardo@example.net, شركة أحمد, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > complete purchase cycle QueryException SQLSTATE[HY000]: General error: 1 table suppliers has no column named name_ar (Connection: sqlite, Database: :memory:, SQL: insert into "suppliers" ("name", "phone", "email", "name_ar", "updated_at", "created_at") values (Supplier Co, 623-433-2277, reyna.nicolas@hagenes.com, شركة التوريد, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > general ledger balance QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: journal_entries.user_id (Connection: sqlite, Database: :memory:, SQL: insert into "journal_entries" ("entry_number", "entry_date", "updated_at", "created_at") values (JE001, 2026-02-27 14:35:08, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > trial balance report QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: journal_entry_lines.account_id (Connection: sqlite, Database: :memory:, SQL: insert into "journal_entry_lines" ("user_id", "debit", "credit", "journal_entry_id", "updated_at", "created_at") values (1, 0, 3000, 5, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > balance sheet report QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: journal_entry_lines.account_id (Connection: sqlite, Database: :memory:, SQL: insert into "journal_entry_lines" ("user_id", "debit", "credit", "journal_entry_id", "updated_at", "created_at") values (1, 0, 3000, 5, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > income statement report QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: journal_entry_lines.account_id (Connection: sqlite, Database: :memory:, SQL: insert into "journal_entry_lines" ("user_id", "debit", "credit", "journal_entry_id", "updated_at", "created_at") values (1, 0, 3000, 5, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > account reconciliation BadMethodCallException Call to undefined method App\Models\AccountType::factory() at vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 63▕ * @throws \BadMethodCallException 64▕ */ 65▕ protected static function throwBadMethodCallException($method) 66▕ { ➜ 67▕ throw new BadMethodCallException(sprintf( 68▕ 'Call to undefined method %s::%s()', static::class, $method 69▕ )); 70▕ } 71▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 2 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:36 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > period closing QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: journal_entry_lines.account_id (Connection: sqlite, Database: :memory:, SQL: insert into "journal_entry_lines" ("user_id", "debit", "credit", "journal_entry_id", "updated_at", "created_at") values (1, 0, 3000, 5, 2026-02-27 14:35:08, 2026-02-27 14:35:08)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\AccountingStructureTest > subsidiary and control accounts QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: accounts.account_type_id (Connection: sqlite, Database: :memory:, SQL: insert into "accounts" ("user_id", "name", "current_balance", "updated_at", "created_at") values (1, Accounts Receivable Control, 0, 2026-02-27 14:35:09, 2026-02-27 14:35:09)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\AuthenticationTest > users can authenticate using the login screen RouteNotFoundException Route [dashboard] not defined. at vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:526 522▕ ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) { 523▕ return $url; 524▕ } 525▕ ➜ 526▕ throw new RouteNotFoundException("Route [{$name}] not defined."); 527▕ } 528▕ 529▕ /** 530▕ * Get the URL for a given route instance. 1 vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:526 2 vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:871 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\EmailVerificationTest > email verification screen can be rendered Expected response status code [200] but received 404. Failed asserting that 404 is identical to 200. at tests\Feature\Auth\EmailVerificationTest.php:13 9▕ $user = User::factory()->unverified()->create(); 10▕ 11▕ $response = $this->actingAs($user)->get('/verify-email'); 12▕ ➜ 13▕ $response->assertStatus(200); 14▕ }); 15▕ 16▕ test('email can be verified', function () { 17▕ $user = User::factory()->unverified()->create(); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\EmailVerificationTest > email can be verified RouteNotFoundException Route [verification.verify] not defined. at vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:526 522▕ ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) { 523▕ return $url; 524▕ } 525▕ ➜ 526▕ throw new RouteNotFoundException("Route [{$name}] not defined."); 527▕ } 528▕ 529▕ /** 530▕ * Get the URL for a given route instance. 1 vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:526 2 vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:375 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\EmailVerificationTest > email is not verified with invalid hash RouteNotFoundException Route [verification.verify] not defined. at vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:526 522▕ ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) { 523▕ return $url; 524▕ } 525▕ ➜ 526▕ throw new RouteNotFoundException("Route [{$name}] not defined."); 527▕ } 528▕ 529▕ /** 530▕ * Get the URL for a given route instance. 1 vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:526 2 vendor\laravel\framework\src\Illuminate\Routing\UrlGenerator.php:375 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordConfirmationTest > confirm password screen can be rendered Expected response status code [200] but received 404. Failed asserting that 404 is identical to 200. at tests\Feature\Auth\PasswordConfirmationTest.php:10 6▕ $user = User::factory()->create(); 7▕ 8▕ $response = $this->actingAs($user)->get('/confirm-password'); 9▕ ➜ 10▕ $response->assertStatus(200); 11▕ }); 12▕ 13▕ test('password can be confirmed', function () { 14▕ $user = User::factory()->create(); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordConfirmationTest > password can be confirmed Expected response status code [201, 301, 302, 303, 307, 308] but received 404. Failed asserting that false is true. at tests\Feature\Auth\PasswordConfirmationTest.php:20 16▕ $response = $this->actingAs($user)->post('/confirm-password', [ 17▕ 'password' => 'password', 18▕ ]); 19▕ ➜ 20▕ $response->assertRedirect(); 21▕ $response->assertSessionHasNoErrors(); 22▕ }); 23▕ 24▕ test('password is not confirmed with invalid password', function () { ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordConfirmationTest > password is not confirmed with invalid password Session is missing expected key [errors]. Failed asserting that false is true. at tests\Feature\Auth\PasswordConfirmationTest.php:31 27▕ $response = $this->actingAs($user)->post('/confirm-password', [ 28▕ 'password' => 'wrong-password', 29▕ ]); 30▕ ➜ 31▕ $response->assertSessionHasErrors(); 32▕ }); 33▕ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordResetTest > reset password link screen can be rendered Expected response status code [200] but received 404. Failed asserting that 404 is identical to 200. at tests\Feature\Auth\PasswordResetTest.php:10 6▕ 7▕ test('reset password link screen can be rendered', function () { 8▕ $response = $this->get('/forgot-password'); 9▕ ➜ 10▕ $response->assertStatus(200); 11▕ }); 12▕ 13▕ test('reset password link can be requested', function () { 14▕ Notification::fake(); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordResetTest > reset password link can be requested The expected [Illuminate\Auth\Notifications\ResetPassword] notification was not sent. Failed asserting that false is true. at vendor\laravel\framework\src\Illuminate\Support\Testing\Fakes\NotificationFake.php:89 85▕ if (is_numeric($callback)) { 86▕ return $this->assertSentToTimes($notifiable, $notification, $callback); 87▕ } 88▕ ➜ 89▕ PHPUnit::assertTrue( 90▕ $this->sent($notifiable, $notification, $callback)->count() > 0, 91▕ "The expected [{$notification}] notification was not sent." 92▕ ); 93▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Testing\Fakes\NotificationFake.php:89 2 vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:363 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordResetTest > reset password screen can be rendered The expected [Illuminate\Auth\Notifications\ResetPassword] notification was not sent. Failed asserting that false is true. at vendor\laravel\framework\src\Illuminate\Support\Testing\Fakes\NotificationFake.php:89 85▕ if (is_numeric($callback)) { 86▕ return $this->assertSentToTimes($notifiable, $notification, $callback); 87▕ } 88▕ ➜ 89▕ PHPUnit::assertTrue( 90▕ $this->sent($notifiable, $notification, $callback)->count() > 0, 91▕ "The expected [{$notification}] notification was not sent." 92▕ ); 93▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Testing\Fakes\NotificationFake.php:89 2 vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:363 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordResetTest > password can be reset with valid token The expected [Illuminate\Auth\Notifications\ResetPassword] notification was not sent. Failed asserting that false is true. at vendor\laravel\framework\src\Illuminate\Support\Testing\Fakes\NotificationFake.php:89 85▕ if (is_numeric($callback)) { 86▕ return $this->assertSentToTimes($notifiable, $notification, $callback); 87▕ } 88▕ ➜ 89▕ PHPUnit::assertTrue( 90▕ $this->sent($notifiable, $notification, $callback)->count() > 0, 91▕ "The expected [{$notification}] notification was not sent." 92▕ ); 93▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Testing\Fakes\NotificationFake.php:89 2 vendor\laravel\framework\src\Illuminate\Support\Facades\Facade.php:363 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordUpdateTest > password can be updated Expected response status code [201, 301, 302, 303, 307, 308] but received 404. Failed asserting that false is true. at tests\Feature\Auth\PasswordUpdateTest.php:20 16▕ ]); 17▕ 18▕ $response 19▕ ->assertSessionHasNoErrors() ➜ 20▕ ->assertRedirect('/profile'); 21▕ 22▕ $this->assertTrue(Hash::check('new-password', $user->refresh()->password)); 23▕ }); 24▕ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\PasswordUpdateTest > correct password must be provided to update password Session is missing expected key [errors]. Failed asserting that false is true. at tests\Feature\Auth\PasswordUpdateTest.php:38 34▕ 'password_confirmation' => 'new-password', 35▕ ]); 36▕ 37▕ $response ➜ 38▕ ->assertSessionHasErrorsIn('updatePassword', 'current_password') 39▕ ->assertRedirect('/profile'); 40▕ }); 41▕ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\RegistrationTest > registration screen can be rendered Expected response status code [200] but received 404. Failed asserting that 404 is identical to 200. at tests\Feature\Auth\RegistrationTest.php:6 2▕ 3▕ test('registration screen can be rendered', function () { 4▕ $response = $this->get('/register'); 5▕ ➜ 6▕ $response->assertStatus(200); 7▕ }); 8▕ 9▕ test('new users can register', function () { 10▕ $response = $this->post('/register', [ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\Auth\RegistrationTest > new users can register The user is not authenticated Failed asserting that false is true. at tests\Feature\Auth\RegistrationTest.php:17 13▕ 'password' => 'password', 14▕ 'password_confirmation' => 'password', 15▕ ]); 16▕ ➜ 17▕ $this->assertAuthenticated(); 18▕ $response->assertRedirect(route('dashboard', absolute: false)); 19▕ }); 20▕ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ExampleTest > it returns a successful response Expected response status code [200] but received 302. Failed asserting that 302 is identical to 200. at tests\Feature\ExampleTest.php:6 2▕ 3▕ it('returns a successful response', function () { 4▕ $response = $this->get('/'); 5▕ ➜ 6▕ $response->assertStatus(200); 7▕ }); 8▕ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\PerformanceBenchmarkTest > comprehensive performance benchmark QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: customers.user_id (Connection: sqlite, Database: :memory:, SQL: insert into "customers" ("name", "phone", "updated_at", "created_at") values (Customer 0, 1234567890, 2026-02-27 14:35:09, 2026-02-27 14:35:09)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProfileTest > profile page is displayed Expected response status code [200] but received 404. Failed asserting that 404 is identical to 200. at tests\Feature\ProfileTest.php:12 8▕ $response = $this 9▕ ->actingAs($user) 10▕ ->get('/profile'); 11▕ ➜ 12▕ $response->assertOk(); 13▕ }); 14▕ 15▕ test('profile information can be updated', function () { 16▕ $user = User::factory()->create(); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProfileTest > profile information can be updated Expected response status code [201, 301, 302, 303, 307, 308] but received 404. Failed asserting that false is true. at tests\Feature\ProfileTest.php:27 23▕ ]); 24▕ 25▕ $response 26▕ ->assertSessionHasNoErrors() ➜ 27▕ ->assertRedirect('/profile'); 28▕ 29▕ $user->refresh(); 30▕ 31▕ $this->assertSame('Test User', $user->name); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProfileTest > email verification status is unchanged when the email address is unchanged Expected response status code [201, 301, 302, 303, 307, 308] but received 404. Failed asserting that false is true. at tests\Feature\ProfileTest.php:48 44▕ ]); 45▕ 46▕ $response 47▕ ->assertSessionHasNoErrors() ➜ 48▕ ->assertRedirect('/profile'); 49▕ 50▕ $this->assertNotNull($user->refresh()->email_verified_at); 51▕ }); 52▕ ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProfileTest > user can delete their account Expected response status code [201, 301, 302, 303, 307, 308] but received 404. Failed asserting that false is true. at tests\Feature\ProfileTest.php:64 60▕ ]); 61▕ 62▕ $response 63▕ ->assertSessionHasNoErrors() ➜ 64▕ ->assertRedirect('/'); 65▕ 66▕ $this->assertGuest(); 67▕ $this->assertNull($user->fresh()); 68▕ }); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProfileTest > correct password must be provided to delete account Session is missing expected key [errors]. Failed asserting that false is true. at tests\Feature\ProfileTest.php:81 77▕ 'password' => 'wrong-password', 78▕ ]); 79▕ 80▕ $response ➜ 81▕ ->assertSessionHasErrorsIn('userDeletion', 'password') 82▕ ->assertRedirect('/profile'); 83▕ 84▕ $this->assertNotNull($user->fresh()); 85▕ }); ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > create basic data performance QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: item_categories.user_id (Connection: sqlite, Database: :memory:, SQL: insert into "item_categories" ("name", "updated_at", "created_at") values (Category 0, 2026-02-27 14:35:10, 2026-02-27 14:35:10)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > chart of accounts structure Failed asserting that null matches expected '101'. at tests\Feature\ProjectPerformanceTest.php:209 205▕ $this->assertEquals('Liabilities', $liabilityType->name); 206▕ $this->assertEquals('Revenue', $revenueType->name); 207▕ $this->assertEquals('Expenses', $expenseType->name); 208▕ ➜ 209▕ $this->assertEquals('101', $cashAccount->code); 210▕ $this->assertEquals('debit', $assetType->normal_side); 211▕ $this->assertEquals('credit', $revenueType->normal_side); 212▕ 213▕ $this->assertFalse($cashAccount->is_subsidiary); 1 tests\Feature\ProjectPerformanceTest.php:209 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > accounting equation BadMethodCallException Call to undefined method App\Models\AccountType::factory() at vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 63▕ * @throws \BadMethodCallException 64▕ */ 65▕ protected static function throwBadMethodCallException($method) 66▕ { ➜ 67▕ throw new BadMethodCallException(sprintf( 68▕ 'Call to undefined method %s::%s()', static::class, $method 69▕ )); 70▕ } 71▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 2 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:36 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > sales purchase operations performance QueryException SQLSTATE[23000]: Integrity constraint violation: 19 NOT NULL constraint failed: suppliers.user_id (Connection: sqlite, Database: :memory:, SQL: insert into "suppliers" ("name", "phone", "email", "updated_at", "created_at") values (Hudson, Yundt and Langworth, 212-891-8674, omonahan@stoltenberg.com, 2026-02-27 14:35:10, 2026-02-27 14:35:10)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 583▕ ➜ 584▕ return $statement->execute(); 585▕ }); 586▕ } 587▕ 588▕ /** 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:584 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > posting to ledger performance QueryException SQLSTATE[HY000]: General error: 1 table items has no column named description (Connection: sqlite, Database: :memory:, SQL: insert into "items" ("user_id", "name", "description", "item_category_id", "cost_price", "selling_price", "items_code", "updated_at", "created_at") values (2, et, Ut sint corporis odio atque veritatis cum ducimus., 1, 100, 392.5, ITM-000001, 2026-02-27 14:35:10, 2026-02-27 14:35:10)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > accounting reports performance BadMethodCallException Call to undefined method App\Models\AccountType::factory() at vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 63▕ * @throws \BadMethodCallException 64▕ */ 65▕ protected static function throwBadMethodCallException($method) 66▕ { ➜ 67▕ throw new BadMethodCallException(sprintf( 68▕ 'Call to undefined method %s::%s()', static::class, $method 69▕ )); 70▕ } 71▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 2 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:36 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > account balances accuracy BadMethodCallException Call to undefined method App\Models\AccountType::factory() at vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 63▕ * @throws \BadMethodCallException 64▕ */ 65▕ protected static function throwBadMethodCallException($method) 66▕ { ➜ 67▕ throw new BadMethodCallException(sprintf( 68▕ 'Call to undefined method %s::%s()', static::class, $method 69▕ )); 70▕ } 71▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 2 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:36 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > query performance BadMethodCallException Call to undefined method App\Models\AccountType::factory() at vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 63▕ * @throws \BadMethodCallException 64▕ */ 65▕ protected static function throwBadMethodCallException($method) 66▕ { ➜ 67▕ throw new BadMethodCallException(sprintf( 68▕ 'Call to undefined method %s::%s()', static::class, $method 69▕ )); 70▕ } 71▕ } 1 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:67 2 vendor\laravel\framework\src\Illuminate\Support\Traits\ForwardsCalls.php:36 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── FAILED Tests\Feature\ProjectPerformanceTest > security validations QueryException SQLSTATE[HY000]: General error: 1 table items has no column named description (Connection: sqlite, Database: :memory:, SQL: insert into "items" ("user_id", "name", "description", "item_category_id", "cost_price", "selling_price", "items_code", "updated_at", "created_at") values (2, enim, Et enim velit reiciendis libero eum voluptas., 1, ?, 638.88, ITM-000001, 2026-02-27 14:35:10, 2026-02-27 14:35:10)) at vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 574▕ if ($this->pretending()) { 575▕ return true; 576▕ } 577▕ ➜ 578▕ $statement = $this->getPdo()->prepare($query); 579▕ 580▕ $this->bindValues($statement, $this->prepareBindings($bindings)); 581▕ 582▕ $this->recordsHaveBeenModified(); 1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:578 2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:827 Tests: 47 failed, 12 passed (65 assertions) Duration: 3.18s