createMock(Factory::class); $this->appData = $this->createMock(AppData::class); $factory->expects($this->once()) ->method('get') ->with('js') ->willReturn($this->appData); /** @var ITimeFactory|\PHPUnit\Framework\MockObject\MockObject $timeFactory */ $timeFactory = $this->createMock(ITimeFactory::class); $timeFactory->method('getTime') ->willReturn(1337); $this->request = $this->createMock(IRequest::class); $this->controller = new JsController( 'core', $this->request, $factory, $timeFactory ); } public function testNoCssFolderForApp(): void { $this->appData->method('getFolder') ->with('myapp') ->willThrowException(new NotFoundException()); $result = $this->controller->getJs('file.css', 'myapp'); $this->assertInstanceOf(NotFoundResponse::class, $result); } public function testNoCssFile(): void { $folder = $this->createMock(ISimpleFolder::class); $this->appData->method('getFolder') ->with('myapp') ->willReturn($folder); $folder->method('getFile') ->willThrowException(new NotFoundException()); $result = $this->controller->getJs('file.css', 'myapp'); $this->assertInstanceOf(NotFoundResponse::class, $result); } public function testGetFile(): void { $folder = $this->createMock(ISimpleFolder::class); $file = $this->createMock(ISimpleFile::class); $file->method('getName')->willReturn('my name'); $file->method('getMTime')->willReturn(42); $this->appData->method('getFolder') ->with('myapp') ->willReturn($folder); $folder->method('getFile') ->with('file.js') ->willReturn($file); $expected = new FileDisplayResponse($file, Http::STATUS_OK, ['Content-Type' => 'application/javascript']); $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $result = $this->controller->getJs('file.js', 'myapp'); $this->assertEquals($expected, $result); } public function testGetGzipFile(): void { $folder = $this->createMock(ISimpleFolder::class); $gzipFile = $this->createMock(ISimpleFile::class); $gzipFile->method('getName')->willReturn('my name'); $gzipFile->method('getMTime')->willReturn(42); $this->appData->method('getFolder') ->with('myapp') ->willReturn($folder); $folder->method('getFile') ->with('file.js.gzip') ->willReturn($gzipFile); $this->request->method('getHeader') ->with('Accept-Encoding') ->willReturn('gzip, deflate'); $expected = new FileDisplayResponse($gzipFile, Http::STATUS_OK, ['Content-Type' => 'application/javascript']); $expected->addHeader('Content-Encoding', 'gzip'); $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $result = $this->controller->getJs('file.js', 'myapp'); $this->assertEquals($expected, $result); } public function testGetGzipFileNotFound(): void { $folder = $this->createMock(ISimpleFolder::class); $file = $this->createMock(ISimpleFile::class); $file->method('getName')->willReturn('my name'); $file->method('getMTime')->willReturn(42); $this->appData->method('getFolder') ->with('myapp') ->willReturn($folder); $folder->method('getFile') ->willReturnCallback( function ($fileName) use ($file) { if ($fileName === 'file.js') { return $file; } throw new NotFoundException(); } ); $this->request->method('getHeader') ->with('Accept-Encoding') ->willReturn('gzip, deflate'); $expected = new FileDisplayResponse($file, Http::STATUS_OK, ['Content-Type' => 'application/javascript']); $expected->addHeader('Cache-Control', 'max-age=31536000, immutable'); $expires = new \DateTime(); $expires->setTimestamp(1337); $expires->add(new \DateInterval('PT31536000S')); $expected->addHeader('Expires', $expires->format(\DateTime::RFC1123)); $result = $this->controller->getJs('file.js', 'myapp'); $this->assertEquals($expected, $result); } } e_hashed_password_when_updating_global_cred_in_files_external Nextcloud server, a safe home for all your data: https://github.com/nextcloud/serverwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/apps/workflowengine/src/components/Event.vue
blob: f170101b4e9c6245f7bd07e6e3dca7620758a9d2 (plain)
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