Prune the upstream Mini/QR mobile subsystem from POS
Deploy Ladill POS / deploy (push) Successful in 33s
Deploy Ladill POS / deploy (push) Successful in 33s
POS was forked from Ladill Mini and carried Mini's entire mobile/QR subsystem (API, QR codes, wallet, payments, push, Afia) which polluted the ladill_pos schema with 8 unused tables and left ~half the test suite red. Remove the dead subsystem: Api/Mini/Qr/Public/Search/WellKnown controllers, Mini/Qr/Afia/Notifications services, the 8 unused models, QrCodePolicy, Support/Qr + Support/Events, the two mini: scheduled commands, the Mini/QR view trees, and their (failing) tests. Empty routes/api.php (POS is web-only) and strip dead schedules from routes/console.php. Keep QrTeamMember — it is the platform team-membership model that POS's SetActingAccount middleware and SSO login depend on for multi-account access. Also keep notifications + personal_access_tokens (used by POS). Drops 7 migrations (qr product/settings, mini_payments, push tokens); the 8 orphan tables are dropped from the live ladill_pos DB separately. Test suite is green (8 passed) and all routes resolve. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
57862acb47
commit
46b5091b1e
@@ -1,57 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Unit\Services\Qr;
|
||||
|
||||
use App\Models\QrCode;
|
||||
use App\Models\User;
|
||||
use App\Services\Qr\QrCodeManagerService;
|
||||
use App\Services\Qr\QrImageGeneratorService;
|
||||
use App\Services\Qr\QrPayloadValidator;
|
||||
use App\Services\Qr\QrWalletBillingService;
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Support\Str;
|
||||
use Tests\TestCase;
|
||||
|
||||
class PaymentQrUpdateTest extends TestCase
|
||||
{
|
||||
use RefreshDatabase;
|
||||
|
||||
public function test_payment_qr_update_persists_business_fields(): void
|
||||
{
|
||||
$user = User::create([
|
||||
'public_id' => (string) Str::uuid(),
|
||||
'name' => 'Trader',
|
||||
'email' => 'trader@example.com',
|
||||
]);
|
||||
|
||||
$qrCode = QrCode::create([
|
||||
'user_id' => $user->id,
|
||||
'short_code' => 'paytest01',
|
||||
'type' => QrCode::TYPE_PAYMENT,
|
||||
'label' => 'Till 1',
|
||||
'payload' => [
|
||||
'content' => [
|
||||
'business_name' => 'Old Shop',
|
||||
'branch_label' => 'Main',
|
||||
'currency' => 'GHS',
|
||||
],
|
||||
'style' => [],
|
||||
],
|
||||
'is_active' => true,
|
||||
]);
|
||||
|
||||
$manager = new QrCodeManagerService(
|
||||
$this->createMock(QrWalletBillingService::class),
|
||||
$this->createMock(QrImageGeneratorService::class),
|
||||
new QrPayloadValidator(),
|
||||
);
|
||||
|
||||
$updated = $manager->update($qrCode, [
|
||||
'business_name' => 'New Shop',
|
||||
'branch_label' => 'Accra Mall',
|
||||
]);
|
||||
|
||||
$this->assertSame('New Shop', $updated->content()['business_name']);
|
||||
$this->assertSame('Accra Mall', $updated->content()['branch_label']);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user