Issues (3641)

Zed/FileManager/Business/File/FileRemoverTest.php (1 issue)

1
<?php
2
3
/**
4
 * Copyright © 2016-present Spryker Systems GmbH. All rights reserved.
5
 * Use of this software requires acceptance of the Evaluation License Agreement. See LICENSE file.
6
 */
7
8
namespace SprykerTest\Zed\FileManager\Business\File;
9
10
use Codeception\Test\Unit;
11
use Generated\Shared\Transfer\FileInfoTransfer;
12
use Generated\Shared\Transfer\FileTransfer;
13
use Spryker\Zed\FileManager\Business\File\FileRemover;
14
use Spryker\Zed\FileManager\Business\FileContent\FileContentInterface;
15
use Spryker\Zed\FileManager\Persistence\FileManagerEntityManagerInterface;
16
use Spryker\Zed\FileManager\Persistence\FileManagerRepositoryInterface;
17
18
/**
19
 * Auto-generated group annotations
20
 *
21
 * @group SprykerTest
22
 * @group Zed
23
 * @group FileManager
24
 * @group Business
25
 * @group File
26
 * @group FileRemoverTest
27
 * Add your own group annotations below this line
28
 */
29
class FileRemoverTest extends Unit
30
{
31
    /**
32
     * @return \Spryker\Zed\FileManager\Business\FileContent\FileContentInterface|\PHPUnit\Framework\MockObject\MockObject
33
     */
34
    protected function createFileContentMock(): FileContentInterface
35
    {
36
        return $this->getMockBuilder(FileContentInterface::class)->getMock();
37
    }
38
39
    /**
40
     * @return \Spryker\Zed\FileManager\Persistence\FileManagerRepositoryInterface|\PHPUnit\Framework\MockObject\MockObject
41
     */
42
    protected function createFileRepositoryMock(): FileManagerRepositoryInterface
43
    {
44
        return $this->getMockBuilder(FileManagerRepositoryInterface::class)->getMock();
45
    }
46
47
    /**
48
     * @return \Spryker\Zed\FileManager\Persistence\FileManagerEntityManagerInterface|\PHPUnit\Framework\MockObject\MockObject
49
     */
50
    protected function createFileManagerEntityManagerMock(): FileManagerEntityManagerInterface
51
    {
52
        return $this->getMockBuilder(FileManagerEntityManagerInterface::class)->getMock();
53
    }
54
55
    /**
56
     * @return \Generated\Shared\Transfer\FileTransfer
57
     */
58
    protected function getMockedFile(): FileTransfer
59
    {
60
        $fileTransfer = new FileTransfer();
61
        $fileTransfer->setFileName('test.txt');
62
        $fileTransfer->setIdFile(1);
63
64
        return $fileTransfer;
65
    }
66
67
    /**
68
     * @return \Generated\Shared\Transfer\FileInfoTransfer
69
     */
70
    protected function getMockedFileInfo(): FileInfoTransfer
71
    {
72
        $fileInfoTransfer = new FileInfoTransfer();
73
        $fileInfoTransfer->setExtension('txt');
74
        $fileInfoTransfer->setVersionName('v. 1');
75
        $fileInfoTransfer->setVersion(1);
76
        $fileInfoTransfer->setSize(1024);
77
        $fileInfoTransfer->setStorageFileName('report.txt');
78
79
        return $fileInfoTransfer;
80
    }
81
82
    /**
83
     * @return void
84
     */
85
    public function testDelete(): void
86
    {
87
        $fileContentMock = $this->createFileContentMock();
88
        $fileRepositoryMock = $this->createFileRepositoryMock();
89
        $fileManagerEntityManagerMock = $this->createFileManagerEntityManagerMock();
90
91
        $fileRepositoryMock
92
            ->method('getFileByIdFile')
93
            ->willReturn($this->getMockedFile());
94
95
        $fileContentMock
96
            ->method('delete')
0 ignored issues
show
The method method() does not exist on Spryker\Zed\FileManager\...nt\FileContentInterface. ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

96
            ->/** @scrutinizer ignore-call */ 
97
              method('delete')

This check looks for calls to methods that do not seem to exist on a given type. It looks for the method on the type itself as well as in inherited classes or implemented interfaces.

This is most likely a typographical error or the method has been renamed.

Loading history...
97
            ->willReturn(null);
98
99
        $fileManagerEntityManagerMock
100
            ->method('deleteFile')
101
            ->willReturn(true);
102
103
        $fileRemover = new FileRemover(
104
            $fileRepositoryMock,
105
            $fileManagerEntityManagerMock,
106
            $fileContentMock,
107
        );
108
109
        $this->assertTrue($fileRemover->delete(1));
110
    }
111
112
    /**
113
     * @return void
114
     */
115
    public function testDeleteFileInfo(): void
116
    {
117
        $fileContentMock = $this->createFileContentMock();
118
        $fileRepositoryMock = $this->createFileRepositoryMock();
119
        $fileManagerEntityManagerMock = $this->createFileManagerEntityManagerMock();
120
121
        $fileRepositoryMock
122
            ->method('getFileInfo')
123
            ->willReturn($this->getMockedFileInfo());
124
125
        $fileContentMock
126
            ->method('delete')
127
            ->willReturn(null);
128
129
        $fileManagerEntityManagerMock
130
            ->method('deleteFileInfo')
131
            ->willReturn(true);
132
133
        $fileRemover = new FileRemover(
134
            $fileRepositoryMock,
135
            $fileManagerEntityManagerMock,
136
            $fileContentMock,
137
        );
138
139
        $this->assertTrue($fileRemover->deleteFileInfo(1));
140
    }
141
}
142