Passed
Push — master ( f0002b...c777f5 )
by Aimeos
08:04 queued 04:27
created

StandardTest::tearDown()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * @license LGPLv3, http://opensource.org/licenses/LGPL-3.0
5
 * @copyright Aimeos (aimeos.org), 2017-2023
6
 */
7
8
9
namespace Aimeos\Controller\Jobs\Common\Coupon\Import\Csv\Processor\Code;
10
11
12
class StandardTest extends \PHPUnit\Framework\TestCase
13
{
14
	private $context;
15
	private $endpoint;
16
17
18
	protected function setUp() : void
19
	{
20
		\Aimeos\MShop::cache( true );
21
22
		$this->context = \TestHelper::context();
23
		$this->endpoint = new \Aimeos\Controller\Jobs\Common\Coupon\Import\Csv\Processor\Done( $this->context, [] );
24
	}
25
26
27
	protected function tearDown() : void
28
	{
29
		\Aimeos\MShop::cache( false );
30
	}
31
32
33
	public function testProcess()
34
	{
35
		$mapping = array(
36
			0 => 'coupon.code.code',
37
			1 => 'coupon.code.count',
38
			2 => 'coupon.code.datestart',
39
			3 => 'coupon.code.dateend',
40
		);
41
42
		$data = array(
43
			0 => 'jobimporttest',
44
			1 => '10',
45
			2 => '2000-01-01 00:00:00',
46
			3 => '',
47
		);
48
49
		$manager = \Aimeos\MShop::create( $this->context, 'coupon' );
50
		$codeManager = \Aimeos\MShop::create( $this->context, 'coupon/code' );
51
52
		$coupon = $manager->save( $manager->create()->setProvider( 'test' ) );
53
		$couponCode = $codeManager->create();
54
		$couponCode->setParentId( $coupon->getId() );
55
56
		$object = new \Aimeos\Controller\Jobs\Common\Coupon\Import\Csv\Processor\Code\Standard( $this->context, $mapping, $this->endpoint );
57
		$object->process( $couponCode, $data );
58
59
		$codeManager->delete( $couponCode->getId() );
60
		$manager->delete( $coupon->getId() );
61
62
63
		$this->assertEquals( 10, $couponCode->getCount() );
64
		$this->assertEquals( 'jobimporttest', $couponCode->getCode() );
65
		$this->assertEquals( '2000-01-01 00:00:00', $couponCode->getDateStart() );
66
		$this->assertEquals( null, $couponCode->getDateEnd() );
67
	}
68
69
70
	public function testProcessUpdate()
71
	{
72
		$mapping = array(
73
			0 => 'coupon.code.code',
74
			1 => 'coupon.code.count',
75
		);
76
77
		$data = array(
78
			0 => 'jobimporttest',
79
			1 => '10',
80
		);
81
82
		$dataUpdate = array(
83
			0 => 'jobimporttest',
84
			1 => '5',
85
		);
86
87
88
		$manager = \Aimeos\MShop::create( $this->context, 'coupon' );
89
		$codeManager = \Aimeos\MShop::create( $this->context, 'coupon/code' );
90
91
		$coupon = $manager->save( $manager->create()->setProvider( 'test' ) );
92
		$couponCode = $codeManager->create();
93
		$couponCode->setParentId( $coupon->getId() );
94
95
		$object = new \Aimeos\Controller\Jobs\Common\Coupon\Import\Csv\Processor\Code\Standard( $this->context, $mapping, $this->endpoint );
96
		$object->process( $couponCode, $data );
97
		$object->process( $couponCode, $dataUpdate );
98
99
		$codeManager->delete( $couponCode->getId() );
100
		$manager->delete( $coupon->getId() );
101
102
103
		$this->assertEquals( 5, $couponCode->getCount() );
104
		$this->assertEquals( 'jobimporttest', $couponCode->getCode() );
105
	}
106
107
108
	public function testProcessEmpty()
109
	{
110
		$mapping = array(
111
			0 => 'coupon.code.code',
112
			1 => 'coupon.code.count',
113
		);
114
115
		$data = array(
116
			0 => 'jobimporttest',
117
			1 => '',
118
		);
119
120
121
		$manager = \Aimeos\MShop::create( $this->context, 'coupon' );
122
		$codeManager = \Aimeos\MShop::create( $this->context, 'coupon/code' );
123
124
		$coupon = $manager->save( $manager->create()->setProvider( 'test' ) );
125
		$couponCode = $codeManager->create();
126
		$couponCode->setParentId( $coupon->getId() );
127
128
		$object = new \Aimeos\Controller\Jobs\Common\Coupon\Import\Csv\Processor\Code\Standard( $this->context, $mapping, $this->endpoint );
129
		$object->process( $couponCode, $data );
130
131
		$codeManager->delete( $couponCode->getId() );
132
		$manager->delete( $coupon->getId() );
133
134
135
		$this->assertEquals( 0, $couponCode->getCount() );
136
	}
137
}
138