| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  | <?php | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | namespace Tests\Commands; | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | use BookStack\Entities\Models\Page; | 
					
						
							| 
									
										
										
										
											2021-03-21 00:25:02 +08:00
										 |  |  | use Illuminate\Support\Facades\DB; | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  | use Tests\TestCase; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ClearViewsCommandTest extends TestCase | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     public function test_clear_views_command() | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  |         $this->asEditor(); | 
					
						
							|  |  |  |         $page = Page::first(); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $this->get($page->getUrl()); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $this->assertDatabaseHas('views', [ | 
					
						
							| 
									
										
										
										
											2023-01-21 19:08:34 +08:00
										 |  |  |             'user_id'     => $this->users->editor()->id, | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  |             'viewable_id' => $page->id, | 
					
						
							| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  |             'views'       => 1, | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  |         ]); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-21 00:25:02 +08:00
										 |  |  |         DB::rollBack(); | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  |         $exitCode = \Artisan::call('bookstack:clear-views'); | 
					
						
							| 
									
										
										
										
											2021-03-21 00:25:02 +08:00
										 |  |  |         DB::beginTransaction(); | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  |         $this->assertTrue($exitCode === 0, 'Command executed successfully'); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         $this->assertDatabaseMissing('views', [ | 
					
						
							| 
									
										
										
										
											2023-01-21 19:08:34 +08:00
										 |  |  |             'user_id' => $this->users->editor()->id, | 
					
						
							| 
									
										
										
										
											2021-02-12 06:42:36 +08:00
										 |  |  |         ]); | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2021-06-26 23:23:15 +08:00
										 |  |  | } |