where('kodcaw', 'KB2')->first(); $this->setTransactionConnections([$cawangan['mysql'], 'mysql7']); $current = new Carbon(); $array_test = [ 'norujukan' => 'KB2240327-0009', "nopelanggan" => "M03-00133879", "jenistebus" => "AT", "jbg" => 6.5, "kadarupah" => 0.56, "pinjaman_lama" => 2000, "pinjaman" => 2000, "ansuran" => 0, "addpinjaman" => 0, "bakipinjaman" => 2221, "bakiupah" => 221, "historygadaian" => "KB2240327-0009", "marhun" => "1 R/L,", "kuantiti_marhun" => 1, "total_berat" => 8.5, "kadarkeuntungan" => 0.56, "noic" => "980412035872", "jenisbayarantebus" => "nottawarruq", "teller" => "MOHD KHALID ABDUL RAHMAN", "jeniskeuntungan" => "onepercent", "nilai_marhun" => 2943.21, "jenisAT" => "none", "totalbayaran" => 221, "bayaran" => 300, "bakipelanggan" => 79, "nowakil" => 0, "total_nilai_marhun" => 3171.265, "marhun_detail" => "1 R/L,", ]; // Create a mock request $request = new Request($array_test); $penebusan_services = new V2Penebusan('KB2',$cawangan); $response = $penebusan_services->transaksiPembiayaanSemula('KB2','KB2240327-0009',$request); $responseArray = json_decode($response->getContent(), true); $this->assertIsArray($responseArray, 'Response is not an array'); $this->assertEquals('success', $responseArray['result'], 'Result should be success'); $this->assertEquals(1, $responseArray['data'], 'Data should be 1'); /* Tebus Assert */ $this->assertDatabaseHasThroughNorujukan('tebus', [ 'kodcaw'=> "KB2", 'norujukan'=> "KB2240327-0009", 'nopelanggan' => "M03-00133879", 'jenisbyr' => "TN", 'jenistebus' => "A", 'glcode' => "0", 't_tebus' => $current->toDateString(), 'jbg' => "6.50", 'kadarupah' => "0.56", 'nilaimarhun' => "2943.21", 'pinjaman' => "2000.00", 'ansuran' => "0.00", 'addpinjaman' => 0, 'bakipjm' => "2221", 'bakiupah' => "221", 'terima' => "*", 'kodgl' => "0", 'nowakil' => 0, 'rebate' => 0, 'marhuntebus' => "1 R/L,", 'historygadaian' => "KB2240327-0009", 'tarikhbyrn' => $current->toDateString(), 'teller' => "MOHD KHALID ABDUL RAHMAN", 'ujrah' => 0, 'onepercent' => 0, ], $cawangan['mysql']); $this->assertDatabaseHasThroughNorujukan('gadai', [ 'norujukan' => 'KB2240327-0009', 'sttebus' => 'T' ], $cawangan['mysql']); } public function testTransactionP(){ $cawangan = Cawangan::on('mysql7')->where('kodcaw', 'KB2')->first(); $this->setTransactionConnections([$cawangan['mysql'], 'mysql7']); $current = new Carbon(); $array_test = [ 'norujukan' => 'KB2240327-0009', 'nopelanggan' => 'M03-00133879', 'jenistebus' => 'P', 'jbg' => 6.5, 'kadarupah' => 0.56, 'pinjaman_lama' => 2000, 'pinjaman' => 2010, 'ansuran' => 0, 'addpinjaman' => 10, 'bakipinjaman' => 2221, 'bakiupah' => 221, 'history_gadaian' => 'KB2240327-0009', 'marhun' => '1 R/L,', 'kuantiti_marhun' => 1, 'total_berat' => 8.5, 'kadarkeuntungan' => 0.56, "noic" => "980412035872", 'jenisbayarantebus' => 'tawarruq', "teller" => "MOHD KHALID ABDUL RAHMAN", 'jeniskeuntungan' => 'onepercent', 'nilai_marhun' => 3171.265, // 'jenisAT' => 'Tiada', // 'totalbayaran' => 'Tiada', 'bayaran' => 222, 'bakipelanggan' => 1, 'nowakil' => 0, //Sebenar Tiada Kena Add dalam series // 'total_nilai_marhun' => 'Tiada', 'keuntungan_6bln' => 6753.6, 'keuntungan_sebulan' => 1125.6, // 'marhun_detail' => 'Tiada', ]; // Create a mock request $request = new Request($array_test); $penebusan_services = new V2Penebusan('KB2',$cawangan); $response = $penebusan_services->transaksiTambahPembiayaan('KB2','KB2240327-0009',$request); $responseArray = json_decode($response->getContent(), true); $this->assertIsArray($responseArray, 'Response is not an array'); $this->assertEquals('success', $responseArray['result'], 'Result should be success'); $this->assertEquals(1, $responseArray['data'], 'Data should be 1'); /* Tebus Assert */ $this->assertDatabaseHasThroughNorujukan('tebus', [ 'kodcaw'=> "KB2", 'norujukan'=> "KB2240327-0009", 'nopelanggan' => "M03-00133879", 'jenisbyr' => "TN", 'jenistebus' => "P", 'glcode' => "0", 't_tebus' => $current->toDateString(), 'jbg' => "6.50", 'kadarupah' => "0.56", 'nilaimarhun' => "2943.21", 'pinjaman' => "2000.00", 'ansuran' => "0.00", 'addpinjaman' => "10.00", 'bakipjm' => "2221.00", 'bakiupah' => "221.00", 'terima' => "*", 'kodgl' => "0", 'nowakil' => 0, 'rebate' => "0.00", 'marhuntebus' => "1 R/L,", 'historygadaian' => "KB2240327-0009", 'tarikhbyrn' => $current->toDateString(), 'teller' => "MOHD KHALID ABDUL RAHMAN", 'ujrah' => "91.00", 'onepercent' => "130.00", ], $cawangan['mysql']); /* Gadai Assert */ /* Create Gadai */ $gadaiTransaction = Gadai::on($cawangan['mysql'])->where('t_gadai','=',$current->toDateString())->orderBy('sirig', 'desc')->first(); $gadaiTransaction = optional($gadaiTransaction)->toArray(); /* Gadai Baru */ $this->assertDatabaseHasThroughNorujukan('gadai',[ 'kodcaw'=>'KB2', 'norujukan' => $gadaiTransaction['norujukan'], 'nopelanggan' => "M03-00133879", "nokp" => "980412035872", 'sirig' => $gadaiTransaction['sirig'], 't_gadai' => $current->toDateString(), 'sttebus' => '', 'masa' =>$current->toTimeString(), 'tagbaru' => 1, 'nilaimarhun' => "3171.27", 'berat'=> "0.00", 'pinjaman' => "2010.00", 'kadarupah' => "0.56", // 'marhun' => "1 R\/L,", 'percentpinj' => "0.63", 'teller' => "MOHD KHALID ABDUL RAHMAN", 'bakipjm' => "2010.00", 'bakiupah' => "121.50", 'jbg' => "0.50", 't_update' => $current->toDateString(), 'cetak' => 0, 'upah12' => "243.00", 'hargajualan' => "2253.00", 'bakihargajualan' => "2253.00", 'tagserah' => 0, 't_matang' => "2025-05-24", 't_matang1' => "2025-11-24", 'tempoh' => "0.50", 'kuantiti' => 0, 'tagkomuditi' => 0, 'upahdibayar' => "0.00", 'tempohbayar' => 0.00, 'lelong_tawarruq' => 1, 'kadarujrah' => "0.56", 'ujrah' => "0.15", 'onepercent' => "20.10", 'margin_semasa' => "0.63", 'tagbaru' => 1, 'tunggakanujrah' => "0.05", 'tunggakanonepercent' => "10.05", ], $cawangan['mysql']); $this->assertDatabaseHasThroughNorujukan('marhun',[ ]); } }