Completed
Push — master ( 1bcbc5...8580f6 )
by Laurent
02:25
created

create_WithData_ValidPayload()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 20
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 15
c 1
b 0
f 0
dl 0
loc 20
rs 9.7666
cc 1
nc 1
nop 0
1
<?php
2
3
namespace Dolibarr\Client\Tests\Service;
4
5
use Dolibarr\Client\Domain\Resource\ResourceId;
6
use Dolibarr\Client\Domain\StockMovement\StockMovement;
7
use Dolibarr\Client\Domain\StockMovement\StockMovementId;
8
use Dolibarr\Client\Service\StockMovementsService;
9
10
/**
11
 * @package Dolibarr\Client\Tests\Service
12
 */
13
final class StockMovementsServiceTest extends ServiceTest
14
{
15
16
    /**
17
     * @var StockMovementsService
18
     */
19
    private $service;
20
21
    /**
22
     * Setup the service.
23
     */
24
    protected function setUp()
25
    {
26
        parent::setUp();
27
        $this->service = new StockMovementsService($this->mockClient(), $this->serializer());
28
    }
29
30
31
    /**
32
     * @test
33
     */
34
    public function create_WithData_ValidPayload()
35
    {
36
        $this->mockClient()
37
            ->expects($this->once())
38
            ->method("post")
39
            ->with("stockmovements", $this->getExpectedPayload('Stockmovements/create'))
40
            ->willReturn($this->buildResponse('Stockmovements/create'));
41
42
        $stockMovement = new StockMovement();
43
        $stockMovement->setInventoryCode('123456');
44
        $stockMovement->setQuantity(10);
45
        $stockMovement->setProductId(1);
46
        $stockMovement->setWarehouseId(2);
47
        $stockMovement->setLabel('My label');
48
        $stockMovement->setLot('9887');
49
50
        $id = $this->service->create($stockMovement);
51
52
        $this->assertInstanceOf(StockMovementId::class, $id);
53
        $this->assertEquals(4, $id->getId());
54
    }
55
}
56