fio = ServiceContainer::getService(FioBankApi::class); } /** * @dataProvider data_testFindPaymentOrder */ public function testFindPaymentOrder($vs, $ref, $note, $id_order_expected) { $transaction = json_decode('{ "column1": { "value": "100" }, "column8": { "value": "Bezhotovostní příjem" }, "column14": { "value": "CZK" }, "column5": { "value": "" }, "column22": { "value": "23453" }, "column25": { "value": "" }, "column27": { "value": "" } }'); $transaction->column25->value = $note; $transaction->column5->value = $vs; $transaction->column27->value = $ref; $vs = $transaction->column5->value ?? false; if (!$vs) { $orderIdentifiers = [ // Reference plátce 'ref' => $transaction->column27->value ?? false, // Zpráva pro příjemce 'msg' => $transaction->column16->value ?? false, // Poznámka 'note' => $transaction->column25->value ?? false, ]; } else { $orderIdentifiers = ['vs' => $vs]; } $orderIdentifiers = array_map(function ($x) {return ltrim(trim($x), '0'); }, $orderIdentifiers); $orderIdentifiers = array_filter($orderIdentifiers); $id_order = $this->fio->findPaymentOrder($transaction->column22->value, $orderIdentifiers); /* spravne pripsane body */ $this->assertEquals($id_order_expected, $id_order); } public function data_testFindPaymentOrder() { return [ ['', '', 'ahoj karle', null], ['201300026', '', 'ahoj karle', 2], ['', '201300026', 'ahoj karle', 2], ['', '0201300026', 'ahoj karle', 2], ['', '', 'ahoj karle1234001 platim ti objednavku vs:201300026', 2], ['', '', 'ahoj karle, platim ti objednavku vs201300026', 2], ['', '', 'ahoj karle, platim ti objednavku 201300026', 2], ['', '', 'VS201300026', 2], ['', '', 'VS:201300026', 2], ['', '', 'VS:201300026 zaplaceno', 2], ['', '', 'VS:201300026 00028', 2], ]; } }