Bagian 8 dari seri

Pengujian dan Upload Sistem Kasir Laravel ke Hosting

Diterbitkan 15 September 2026

Pengujian yang wajib dilakukan

Buat pengujian fitur untuk memastikan:

  • Pengunjung tidak dapat membuka halaman kasir
  • Produk tidak dapat dijual melebihi stok
  • Harga dari browser tidak dipakai oleh server
  • Transaksi berhasil mengurangi stok
  • Transaksi gagal tidak menyimpan header atau detail
  • Pembatalan transaksi mengembalikan stok satu kali
  • Laporan hanya menghitung transaksi berstatus paid
php artisan make:test SaleTest
php artisan test

Contoh pemeriksaan inti:

public function test_sale_reduces_stock(): void
{
    $user = User::factory()->create();
    $product = Product::factory()->create(['stock' => 10, 'selling_price' => 5000]);

    $this->actingAs($user)->post(route('sales.store'), [
        'paid_amount' => 10000,
        'items' => [['product_id' => $product->id, 'quantity' => 2]],
    ])->assertSessionHasNoErrors();

    $this->assertSame(8, $product->fresh()->stock);
    $this->assertDatabaseHas('sales', ['grand_total' => 10000]);
}

Konfigurasi produksi

APP_ENV=production
APP_DEBUG=false
APP_URL=https://domain-anda.com
LOG_LEVEL=error
SESSION_SECURE_COOKIE=true

Isi kredensial database produksi melalui panel hosting. Jangan mengunggah .env lokal atau memasukkan password asli ke repository.

Proses deploy

composer install --no-dev --optimize-autoloader
php artisan migrate --force
php artisan storage:link
php artisan optimize

Pastikan folder storage dan bootstrap/cache dapat ditulis oleh PHP. Arahkan document root hosting ke folder public.

Sesudah deploy, uji login, tambah produk, transaksi satu item, cetak nota, laporan, logout, dan tampilan ponsel. Ganti akun demo dan hapus data transaksi percobaan.

Source code lengkap

Jika tidak ingin merakit seluruh bagian secara manual, paket source code lengkap menyediakan proyek Laravel, database, data demo, halaman admin, transaksi, stok, laporan, pengujian, dan panduan instalasi.

Harga paket: Rp99.000.

Lihat Source Code Sistem Kasir Laravel