-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathOrdrspTest.php
executable file
·124 lines (113 loc) · 3.35 KB
/
OrdrspTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?php
namespace GeneratorTest;
use EDI\Encoder;
use EDI\Generator\EdifactException;
use EDI\Generator\Interchange;
use EDI\Generator\Ordrsp;
use PHPUnit\Framework\TestCase;
/**
* Class OrdrspTest
* @package GeneratorTest
*/
class OrdrspTest extends TestCase
{
public function testOrdrsp()
{
$interchange = new Interchange(
'UNB-Identifier-Sender',
'UNB-Identifier-Receiver'
);
$interchange->setCharset('UNOC', '3');
$ordrsp = new Ordrsp();
try {
$ordrsp->setOrderConfirmationNumber('AB1234567')
->setOrderConfirmationDate(new \DateTime())
->setDeliveryDate(new \DateTime())
->setOrderNumber('HERS1234567')
->setManufacturerAddress(
'Name 1',
'Name 2',
'Name 3',
'Street',
'99999',
'city',
'DE'
)
->setWholesalerAddress(
'Name 1',
'Name 2',
'Name 3',
'Street',
'99999',
'city',
'DE'
)
->setContactPerson('John Doe')
->setMailAddress('john.doe@company.com')
->setPhoneNumber('+49123456789')
->setFaxNumber('+49123456789-11')
->setDeliveryAddress(
'Name 1',
'Name 2',
'Name 3',
'Street',
'99999',
'city',
'DE'
)
->setPositionSeparator()
->compose();
} catch (EdifactException $e) {
}
$encoder = new Encoder($interchange->addMessage($ordrsp)->getComposed(), true);
$encoder->setUNA(":+,? '");
$message = str_replace("'", "'\n", $encoder->get());
// fwrite(STDOUT, "\n\nORDRSP\n" . $message);
$this->assertStringContainsString('UNT+11', $message);
}
public function testNameAndAddress()
{
$ordrsp = new Ordrsp();
$ordrsp->setDeliveryAddress(
'name one that is longer than 35 characters',
'name two that is longer than 35 characters',
'name three that is longer than 35 characters',
'street that is longer than 35 characters',
'DE-1234567890',
'city that is longer than 35 characters',
'DE with more characters'
);
$this->assertEquals([
'NAD',
'ST',
[
'',
'',
'ZZZ'
],
'',
[
'name one that is longer than 35 cha',
'name two that is longer than 35 cha',
'name three that is longer than 35 c',
],
[
'street that is longer than 35 chara',
'cters'
],
[
'city that is longer than 35 charact',
'ers'
],
[
''
],
[
'DE-123456'
],
[
'DE'
]
], $ordrsp->getDeliveryAddress());
}
}