public function compare(Request $request) { //required|mimes:csv $this->validate($request, ['file1' => 'required', 'file2' => 'required', 'confidencemin' => 'required|max:50|numeric|min:10', 'maxdifftransdate' => 'required|numeric|max:300|min:10', 'transamountweight' => 'required|numeric|max:1|min:0', 'transdateweight' => 'required|numeric|max:1|min:0', 'transnarrativeweight' => 'required|numeric|max:1|min:0', 'transwalletrefweight' => 'required|numeric|max:1|min:0', 'transidweight' => 'required|numeric|max:1|min:0']); $file1Name = $request->file('file1')->getClientOriginalName(); $uploadPath = public_path() . '/uploads'; $request->file('file1')->move($uploadPath, $file1Name); $file2Name = $request->file('file2')->getClientOriginalName(); $request->file('file2')->move($uploadPath, $file2Name); $file1Path = $uploadPath . '/' . $file1Name; $file2Path = $uploadPath . '/' . $file2Name; $request->session()->flush(); //Init the weight of each criteria ReconciliationUtils::$maxdiffdate = $request->input('maxdifftransdate'); ReconciliationUtils::$minconfidencescore = $request->input('confidencemin'); ReconciliationUtils::$amountweight = $request->input('transamountweight'); ReconciliationUtils::$walletrefweight = $request->input('transwalletrefweight'); ReconciliationUtils::$dateweight = $request->input('transdateweight'); ReconciliationUtils::$idweight = $request->input('transidweight'); ReconciliationUtils::$narrativeweight = $request->input('transnarrativeweight'); $compareFile1ToFile2Result = ReconciliationUtils::compareFile($file1Path, $file2Path); $compareFile1ToFile2Result['FILE1_NAME'] = $file1Name; $request->session()->put('FILE1_DATA', $compareFile1ToFile2Result); $compareFile2ToFile1Result = ReconciliationUtils::compareFile($file2Path, $file1Path); $compareFile2ToFile1Result['FILE2_NAME'] = $file2Name; $request->session()->put('FILE2_DATA', $compareFile2ToFile1Result); return redirect('/reconciliation?results=true')->withSuccess("Comparison done!"); }
/** * Test that we cannot find a suggestion for a transaction * * @return void */ public function testCannotFindSuggestion() { $uploadPath = public_path() . '/uploads'; $result = ReconciliationUtils::compareFile($uploadPath . '/test3File1.csv', $uploadPath . '/test3File2.csv'); $this->assertEquals(0, isset($result['UNMATCHED_TRANSACTIIONS'][2]['SUGGESTIONS'])); }