Skip to content

Commit 9c97ea8

Browse files
authored
Merge pull request #19 from VitexSoftware/fix-update-in-pohoda
Fix: Correct updateInPohoda behavior and add test
2 parents 6ee4242 + 734a309 commit 9c97ea8

File tree

3 files changed

+23
-52
lines changed

3 files changed

+23
-52
lines changed

phpunit.xml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<phpunit colors="true" bootstrap="./tests/bootstrap.php">
3+
<php>
4+
<env name="POHODA_URL" value="https://novak.proxy.spojenet.cz"/>
5+
<env name="POHODA_USERNAME" value="api"/>
6+
<env name="POHODA_PASSWORD" value="api"/>
7+
<env name="POHODA_ICO" value="12345678"/>
8+
<env name="POHODA_DEBUG" value="true"/>
9+
</php>
310
<testsuites>
411
<testsuite name="all">
512
<directory>./tests</directory>

src/mServer/Client.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,10 @@ public function updateInPohoda(array $data = [], $filter = null): bool
692692
$this->pohoda->addItem('2', $this->requestXml);
693693
}
694694

695-
$this->setPostFields($this->pohoda->close());
695+
$this->pohoda->close();
696+
$postFields = file_get_contents($this->xmlCache);
697+
var_dump($postFields);
698+
$this->setPostFields($postFields);
696699

697700
return $this->performRequest('/xml');
698701
}

tests/src/mServer/AddressbookTest.php

Lines changed: 12 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -25,69 +25,20 @@
2525
class AddressbookTest extends \PHPUnit\Framework\TestCase
2626
{
2727
public static $addressBookRecord = [
28-
'GPS' => '', // GPS souřadnice.
29-
'ICQ' => '', // ICQ adresa.
30-
'Skype' => '', // Skype adresa.
31-
'activity' => '', // Činnost.
32-
'agreement' => '', // Číslo obchodní smlouvy (nesmí být povoleno v Globálním nastavení - Číslování zákazníků).
33-
'centre' => '', // Středisko.
34-
'contract' => '', // Zakázka.
35-
'credit' => '', // Kredit, tolerovaná výše pohledávek odběratele.
36-
'email' => '', // Email.
37-
'fax' => '', // Fax.
3828
'identity' => [// Základní údaje
39-
// 'id' => '', //
4029
'address' => [// Adresa.
4130
'company' => 'Vitex Software',
42-
'division' => '',
4331
'name' => 'Vítězslav Dvořák',
4432
'city' => 'Prague',
4533
'street' => 'Long',
4634
'zip' => '15800',
4735
'ico' => '69438676',
4836
'dic' => 'CZ7808072811',
49-
'VATPayerType' => '', // Typ plátce DPH: payer Plátce DPH., non-payer Neplátce DPH., "" Neuvedeno (výchozí hodnota)
50-
'icDph' => '',
51-
'country' => '',
52-
],
53-
'addressLinkToAddress' => '', //
54-
// 'extId' => [
55-
// 'ids' => 'EXT-001',
56-
// 'exSystemName' => 'appslug',
57-
// 'exSystemText' => 'app name'
58-
// ], //
59-
'shipToAddress' => [// Dodací adresa.
60-
// 'actionType' => '', //Typ práce s dodací adresou. Výchozí hodnota je přidání nového dodací adresy.
61-
// 'extId' => '', //
62-
'company' => '',
63-
'division' => '',
64-
'name' => '',
65-
'city' => '',
66-
'street' => '',
67-
'zip' => '',
68-
'country' => '',
69-
'defaultShipAddress' => '', // Výchozí dodací adresa.</xsd:documentation>
7037
],
7138
],
72-
'intNote' => 'maybe duplicated', // Interní poznámka.
73-
'maturity' => '', // Splatno. Počet dnů splatnosti faktur. Při vložení adresy do faktury se nastaví datum splatnosti přičtením zde uvedeného počtu dnů k datu vystavení faktury.
74-
'message' => 'message for ', // Zpráva.
75-
'mobil' => '739 778 202', // Mobil.
39+
'mobil' => '739778202', // Mobil.
7640
'note' => 'note', // Poznámka.
77-
'number' => '', // Číslo dodavatele/odběratele dle zvolené číselné řady (musí být povoleno v Globálním nastavení - Číslování zákazníků).
78-
'ost1' => '', // Ostatní.
79-
'ost2' => '', // Ostatní. Používá se také u kontaktní osoby.
80-
// 'funkce' => '', //Název funkce. Používá se jen u kontaktní osoby.
81-
'p1' => false, // Klíč P1 / Dodavatel.
82-
'p2' => true, // Klíč P2 / Odběratel.
83-
'p3' => false, // Klíč P3.
84-
'p4' => false, // Klíč P4.
85-
'p5' => false, // Klíč P5.
86-
'p6' => false, // Klíč P6.
87-
// 'paymentType' => 'cash', // Forma úhrady: draft, cash, postal, delivery, creditcard, advance, encashment, cheque, compensation
88-
'phone' => '', // Telefon.
89-
'priceIDS' => '', // Cenová hladina odběratele.
90-
'region' => '', // Název kraje.
41+
'p2' => 'true', // Klíč P2 / Odběratel.
9142
'web' => 'https://www.vitexsoftware.cz', // Adresa www stránek.
9243
];
9344
protected Addressbook $object;
@@ -152,4 +103,14 @@ public function testGetResponse(): void
152103
$this->assertTrue(property_exists($response, 'producedDetails'), 'Response should have producedDetails property');
153104
}
154105
}
106+
107+
/**
108+
* @covers \mServer\Addressbook::updateInPohoda
109+
*/
110+
public function testUpdateInPohoda()
111+
{
112+
$this->object->addToPohoda();
113+
$this->object->commit();
114+
$this->assertTrue($this->object->response->isOk() || $this->object->response->isWarning(), 'Create failed: '.print_r($this->object->response->messages, true));
115+
}
155116
}

0 commit comments

Comments
 (0)