-
Notifications
You must be signed in to change notification settings - Fork 0
/
ValidationTest.php
64 lines (55 loc) · 2.04 KB
/
ValidationTest.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
<?php
namespace Testsuite\Validation;
use PHPUnit\Framework\TestCase;
use Slim\Http\UploadedFile;
use Filehosting\Config;
use Filehosting\Entity\File;
use Filehosting\Helper\CommentHelper;
use Filehosting\Database\CommentMapper;
use Filehosting\Database\FileMapper;
use Filehosting\Entity\Comment;
use Filehosting\Validation\Validation;
class ValidationTest extends TestCase
{
protected $validator;
protected function setUp()
{
$container = new \Slim\Container();
$container['config'] = function ($container) {
$configMock = $this->createMock(Config::class);
$configMock->method('getValue')->willReturn(2500000);
return $configMock;
};
$container['CommentMapper'] = function ($container) {
$mapperMock = $this->createMock(CommentMapper::class);
return $mapperMock;
};
$container['FileMapper'] = function ($container) {
$mapperMock = $this->createMock(FileMapper::class);
$mapperMock->method('getFile')->willReturn(true);
return $mapperMock;
};
$this->validator = new Validation($container);
}
public function testSuccessfulFileValidation()
{
$uploadedFile = new UploadedFile("/tmp/tempname", "example", "image/png", 1500000, UPLOAD_ERR_OK);
$this->assertEmpty($this->validator->validateUploadedFile($uploadedFile));
}
public function testUnseccessfulFileValidation()
{
$file = new UploadedFile("/tmp/tempname", "example", "image/png", 1500000, UPLOAD_ERR_NO_FILE);
$this->assertNotEmpty($this->validator->validateUploadedFile($file));
}
public function testSuccessfulCommentValidation()
{
$comment = new Comment();
$comment->setCommentText("This is a test comment.");
$this->assertEmpty($this->validator->validateComment($comment));
}
public function testUnsuccessfulCommentValidation()
{
$comment = new Comment();
$this->assertNotEmpty($this->validator->validateComment($comment));
}
}