Apply fixes from StyleCI

This commit is contained in:
StyleCI Bot
2023-10-09 07:16:01 +00:00
parent 5f9e3803ad
commit 0b73ac5165
6 changed files with 90 additions and 109 deletions

View File

@@ -263,14 +263,13 @@ class UserController extends Controller
public function getPage($name, Page $page) public function getPage($name, Page $page)
{ {
$page = $page->where('slug' , $name); $page = $page->where('slug', $name);
if (!Auth::check() || \Auth::user()->role == 'user') { if (!Auth::check() || \Auth::user()->role == 'user') {
$page = $page $page = $page
->where(['status' => 1,'visibility'=>1]) ->where(['status' => 1, 'visibility'=>1])
->first(); ->first();
} } else {
else {
$page = $page->where('status', 1)->first(); $page = $page->where('status', 1)->first();
} }

View File

@@ -24,7 +24,7 @@ class ArticleRequest extends Request
public function rules() public function rules()
{ {
return [ return [
'name' => 'required|unique:kb_article', 'name' => 'required|unique:kb_article',
'description' => 'required', 'description' => 'required',
'category_id' => 'required', 'category_id' => 'required',
]; ];

View File

@@ -26,8 +26,8 @@ class PageRequest extends Request
$id = $this->segment(2); $id = $this->segment(2);
return [ return [
'name' => 'required|unique:kb_pages,name,'.$id, 'name' => 'required|unique:kb_pages,name,'.$id,
'description' =>'required', 'description' => 'required',
]; ];
} }
} }

View File

@@ -7,16 +7,16 @@ use App\Http\Requests\kb\ArticleUpdate;
use App\Http\Requests\kb\CategoryRequest; use App\Http\Requests\kb\CategoryRequest;
use App\Model\kb\Article; use App\Model\kb\Article;
use App\Model\kb\Category; use App\Model\kb\Category;
use App\Model\kb\Comment;
use App\Model\kb\Relationship; use App\Model\kb\Relationship;
use App\User; use App\User;
use Faker\Factory as FakerFactory; use Faker\Factory as FakerFactory;
use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Lang;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Tests\TestCase; use Tests\TestCase;
use Illuminate\Support\Facades\Lang;
class ArticleControllerTest extends TestCase class ArticleControllerTest extends TestCase
{ {
//use DatabaseTransactions; //use DatabaseTransactions;
@@ -57,6 +57,7 @@ class ArticleControllerTest extends TestCase
$this->assertAuthenticated(); $this->assertAuthenticated();
} }
/** @test */ /** @test */
public function it_can_display_the_article_index_page() public function it_can_display_the_article_index_page()
{ {
@@ -64,16 +65,16 @@ class ArticleControllerTest extends TestCase
$response->assertStatus(200); $response->assertStatus(200);
} }
public function testStoreArticleWithCategories() public function testStoreArticleWithCategories()
{ {
// Create a Category model for testing // Create a Category model for testing
$data = [ $data = [
'name' => 'Test Category', 'name' => 'Test Category',
'description' => 'Test Category Description', 'description' => 'Test Category Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
@@ -84,29 +85,27 @@ class ArticleControllerTest extends TestCase
$this->assertDatabaseHas('kb_category', $data); $this->assertDatabaseHas('kb_category', $data);
$category = Category::latest()->first(); $category = Category::latest()->first();
// Article data // Article data
$articleData = [ $articleData = [
'name' => 'Test Article', 'name' => 'Test Article',
'description'=>'Test Article Description', 'description'=> 'Test Article Description',
'category_id'=>$category->id, 'category_id'=> $category->id,
'year' => '2023', 'year' => '2023',
'month' => '10', 'month' => '10',
'day' => '03', 'day' => '03',
'hour' => '12', 'hour' => '12',
'minute' => '30', 'minute' => '30',
]; ];
$articleRequest = new ArticleRequest($articleData); $articleRequest = new ArticleRequest($articleData);
// Act // Act
try { try {
$validator = Validator::make($articleData, (new ArticleRequest)->rules()); $validator = Validator::make($articleData, (new ArticleRequest())->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
$response = $this->post(route('article.store'), $articleData); $response = $this->post(route('article.store'), $articleData);
$response->assertStatus(200); $response->assertStatus(200);
} catch (Exception $e) { } catch (Exception $e) {
$response = null; $response = null;
} }
@@ -117,48 +116,47 @@ class ArticleControllerTest extends TestCase
$article = Article::latest()->first(); $article = Article::latest()->first();
$article_relationship = new Relationship; $article_relationship = new Relationship();
$article_relationship->category_id = $category->id; $article_relationship->category_id = $category->id;
$article_relationship->article_id=$article->id; $article_relationship->article_id = $article->id;
$article_relationship->save(); $article_relationship->save();
// Verify that the article was created and the category relationship exists // Verify that the article was created and the category relationship exists
$this->assertDatabaseHas('kb_article', [ $this->assertDatabaseHas('kb_article', [
'name' => $articleData['name'], 'name' => $articleData['name'],
'slug' => Str::slug($articleData['name'], '-'), 'slug' => Str::slug($articleData['name'], '-'),
'publish_time' => $articleData['year'] . '-' . $articleData['month'] . '-' . $articleData['day'] . ' ' . $articleData['hour'] . ':' . $articleData['minute'] . ':00', 'publish_time' => $articleData['year'].'-'.$articleData['month'].'-'.$articleData['day'].' '.$articleData['hour'].':'.$articleData['minute'].':00',
]); ]);
// Check if the category relationship exists // Check if the category relationship exists
$this->assertDatabaseHas('kb_article_relationship', [ $this->assertDatabaseHas('kb_article_relationship', [
'category_id' => $category->id, 'category_id' => $category->id,
'article_id' => Article::latest()->first()->id, // Get the ID of the latest created article 'article_id' => Article::latest()->first()->id, // Get the ID of the latest created article
]); ]);
} else { } else {
$this->fail("Exception thrown: " . $e->getMessage()); $this->fail('Exception thrown: '.$e->getMessage());
} }
} }
public function testEditArticle() public function testEditArticle()
{ {
// Arrange // Arrange
$article = Article::latest()->first();// Create a sample Article for testing $article = Article::latest()->first(); // Create a sample Article for testing
$relationship = Relationship::latest()->first(); // Create a sample Relationship for testing $relationship = Relationship::latest()->first(); // Create a sample Relationship for testing
$category = Category::latest()->first();// Create a sample Category for testing $category = Category::latest()->first(); // Create a sample Category for testing
$assign = $relationship->where('article_id', 'id')->pluck('category_id'); $assign = $relationship->where('article_id', 'id')->pluck('category_id');
$category = $category->pluck('id', 'name'); $category = $category->pluck('id', 'name');
$response = $this->get("/article/{$article->id}/edit", $response = $this->get(
['category' => $category, "/article/{$article->id}/edit",
'article' =>$article, ['category' => $category,
'assign'=>$assign 'article' => $article,
]); 'assign' => $assign,
]
);
$response->assertStatus(200); $response->assertStatus(200);
} }
public function testUpdateArticle() public function testUpdateArticle()
@@ -167,24 +165,23 @@ class ArticleControllerTest extends TestCase
$category = Category::latest()->first(); $category = Category::latest()->first();
$data = [ $data = [
'id' => $article->id, 'id' => $article->id,
'name' => 'Updated Article Name', 'name' => 'Updated Article Name',
'description' => 'Updated Description', 'description' => 'Updated Description',
'slug' => Str::slug('Updated Article Name', '-'), 'slug' => Str::slug('Updated Article Name', '-'),
'category_id' => [1,2], 'category_id' => [1, 2],
'year' => '2023', 'year' => '2023',
'month' => '10', 'month' => '10',
'day' => '03', 'day' => '03',
'hour' => '2', 'hour' => '2',
'minute' => '20', 'minute' => '20',
]; ];
$validator = Validator::make($data, (new ArticleUpdate())->rules());
$validator = Validator::make($data, (new ArticleUpdate)->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
$response = $this->put(route('article.update',$article->id),$data); $response = $this->put(route('article.update', $article->id), $data);
$response->assertStatus(302); $response->assertStatus(302);
@@ -195,25 +192,23 @@ class ArticleControllerTest extends TestCase
$article = Article::latest()->first(); $article = Article::latest()->first();
$relation = new Relationship(); $relation = new Relationship();
$relation->category_id = $category->id; $relation->category_id = $category->id;
$relation->article_id=$article->id; $relation->article_id = $article->id;
$relation->save(); $relation->save();
} }
/** @test */ /** @test */
public function it_can_delete_a_category() public function it_can_delete_a_category()
{ {
// Create a sample article, relationship // Create a sample article, relationship
$article = Article::latest()->first(); $article = Article::latest()->first();
$relationship = Relationship::find($article->id); $relationship = Relationship::find($article->id);
// Ensure the destroy route works as expected // Ensure the destroy route works as expected
$response = $this->get("/article/delete/{$article->slug}"); $response = $this->get("/article/delete/{$article->slug}");
// Assert that success message is flashed
$response->assertSessionHas('success', Lang::get('lang.article_deleted_successfully'));
// Assert that success message is flashed
$response->assertSessionHas('success', Lang::get('lang.article_deleted_successfully'));
// Create a category // Create a category
$category = Category::latest()->first(); $category = Category::latest()->first();
@@ -228,7 +223,6 @@ class ArticleControllerTest extends TestCase
$this->assertDatabaseMissing('kb_category', ['id' => $category->id]); $this->assertDatabaseMissing('kb_category', ['id' => $category->id]);
} }
public function it_cannot_delete_a_article_if_related() public function it_cannot_delete_a_article_if_related()
{ {
// Create a category // Create a category

View File

@@ -3,12 +3,9 @@
namespace Tests\Unit; namespace Tests\Unit;
use App\Http\Requests\kb\CategoryRequest; use App\Http\Requests\kb\CategoryRequest;
use App\Model\helpdesk\Ticket\Ticket_Thread;
use App\Model\helpdesk\Ticket\Tickets;
use App\Model\kb\Category; use App\Model\kb\Category;
use App\Model\kb\Relationship; use App\Model\kb\Relationship;
use App\User; use App\User;
use DateTimeZone;
use Faker\Factory as FakerFactory; use Faker\Factory as FakerFactory;
use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
@@ -16,7 +13,6 @@ use Illuminate\Support\Facades\Lang;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Illuminate\Support\Str; use Illuminate\Support\Str;
use Tests\TestCase; use Tests\TestCase;
use UTC;
class CategoryControllerTest extends TestCase class CategoryControllerTest extends TestCase
{ {
@@ -70,20 +66,19 @@ class CategoryControllerTest extends TestCase
public function testValidationPasses() public function testValidationPasses()
{ {
$data = [ $data = [
'name' => 'New Category', 'name' => 'New Category',
'description' => 'Category Description', 'description' => 'Category Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
$response = $this->post(route('category.store'), $data); $response = $this->post(route('category.store'), $data);
$response->assertStatus(302); $response->assertStatus(302);
$response->assertSessionHas('success'); $response->assertSessionHas('success');
$this->assertDatabaseHas('kb_category', $data); $this->assertDatabaseHas('kb_category', $data);
} }
public function testValidationFailsWhenNameMissing() public function testValidationFailsWhenNameMissing()
@@ -92,7 +87,7 @@ class CategoryControllerTest extends TestCase
'description' => 'Category Description', 'description' => 'Category Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
@@ -102,11 +97,11 @@ class CategoryControllerTest extends TestCase
public function testValidationFailsWhenNameExceedsMaxLength() public function testValidationFailsWhenNameExceedsMaxLength()
{ {
$data = [ $data = [
'name' => str_repeat('A', 251), 'name' => str_repeat('A', 251),
'description' => 'Category Description', 'description' => 'Category Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
@@ -116,11 +111,11 @@ class CategoryControllerTest extends TestCase
public function testValidationFailsWhenNameNotUnique() public function testValidationFailsWhenNameNotUnique()
{ {
$data = [ $data = [
'name' => 'Greetings', 'name' => 'Greetings',
'description' => 'Category Description', 'description' => 'Category Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
@@ -133,22 +128,23 @@ class CategoryControllerTest extends TestCase
'name' => 'New Category', 'name' => 'New Category',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
$this->assertTrue($validator->errors()->has('description')); $this->assertTrue($validator->errors()->has('description'));
} }
public function testEditCategory() public function testEditCategory()
{ {
$category = Category::latest()->first(); $category = Category::latest()->first();
$categories = Category::pluck('name', 'id')->toArray(); $categories = Category::pluck('name', 'id')->toArray();
$response = $this->get("/category/{$category->id}/edit", $response = $this->get(
['category' => $category, "/category/{$category->id}/edit",
'categories' => $categories, ['category' => $category,
]); 'categories' => $categories,
]
);
$response->assertStatus(200); $response->assertStatus(200);
} }
@@ -159,11 +155,11 @@ class CategoryControllerTest extends TestCase
$category = Category::latest()->first(); $category = Category::latest()->first();
$data = [ $data = [
'name' => 'Updated Category Name', 'name' => 'Updated Category Name',
'description' => 'Updated Description', 'description' => 'Updated Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
@@ -174,7 +170,6 @@ class CategoryControllerTest extends TestCase
$this->assertDatabaseHas('kb_category', $data); $this->assertDatabaseHas('kb_category', $data);
} }
/** @test */ /** @test */
public function it_cannot_update_an_existing_category() public function it_cannot_update_an_existing_category()
{ {
@@ -182,24 +177,22 @@ class CategoryControllerTest extends TestCase
$category = Category::latest()->first(); $category = Category::latest()->first();
$data = [ $data = [
'name' => 'Greetings', 'name' => 'Greetings',
'description' => 'Updated Description', 'description' => 'Updated Description',
]; ];
$validator = Validator::make($data, (new CategoryRequest)->rules()); $validator = Validator::make($data, (new CategoryRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$response = $this->put(route('category.update', $category->id), $data); $response = $this->put(route('category.update', $category->id), $data);
$response->assertStatus(302); $response->assertStatus(302);
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
$this->assertTrue($validator->errors()->has('name')); $this->assertTrue($validator->errors()->has('name'));
} }
/** @test */ /** @test */
public function it_can_delete_a_category() public function it_can_delete_a_category()
{ {
// Create a category // Create a category
$category = Category::latest()->first(); $category = Category::latest()->first();
@@ -217,7 +210,6 @@ class CategoryControllerTest extends TestCase
// Assert that the response has a success message // Assert that the response has a success message
$response->assertSessionHas('success', Lang::get('lang.category_deleted_successfully')); $response->assertSessionHas('success', Lang::get('lang.category_deleted_successfully'));
} }
/** @test */ /** @test */

View File

@@ -2,8 +2,7 @@
namespace Tests\Unit; namespace Tests\Unit;
use App\Http\Requests\kb\CategoryRequest; use App\Http\Requests\kb\PageRequest;
use App\Model\kb\Category;
use App\Model\kb\Page; use App\Model\kb\Page;
use App\User; use App\User;
use Faker\Factory as FakerFactory; use Faker\Factory as FakerFactory;
@@ -11,11 +10,10 @@ use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator; use Illuminate\Support\Facades\Validator;
use Tests\TestCase; use Tests\TestCase;
use App\Http\Requests\kb\PageRequest;
class PageControllerTest extends TestCase class PageControllerTest extends TestCase
{ {
use DatabaseTransactions; use DatabaseTransactions;
protected $user; // Declare a user property protected $user; // Declare a user property
// Set up the authenticated user before each test // Set up the authenticated user before each test
@@ -67,16 +65,16 @@ class PageControllerTest extends TestCase
$response = $this->get('/page/create'); $response = $this->get('/page/create');
$response->assertStatus(200); $response->assertStatus(200);
} }
public function testValidationPasses() public function testValidationPasses()
{ {
$data = [ $data = [
'name' => 'New Page', 'name' => 'New Page',
'description' => 'Page Description', 'description' => 'Page Description',
]; ];
$validator = Validator::make($data, (new PageRequest)->rules()); $validator = Validator::make($data, (new PageRequest())->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
@@ -93,7 +91,7 @@ class PageControllerTest extends TestCase
'description' => 'Page Description', 'description' => 'Page Description',
]; ];
$validator = Validator::make($data, (new PageRequest)->rules()); $validator = Validator::make($data, (new PageRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
@@ -103,11 +101,11 @@ class PageControllerTest extends TestCase
public function testValidationFailsWhenNameNotUnique() public function testValidationFailsWhenNameNotUnique()
{ {
$data = [ $data = [
'name' => 'Page1', 'name' => 'Page1',
'description' => 'Page Description', 'description' => 'Page Description',
]; ];
$validator = Validator::make($data, (new PageRequest)->rules()); $validator = Validator::make($data, (new PageRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
@@ -120,7 +118,7 @@ class PageControllerTest extends TestCase
'name' => 'New', 'name' => 'New',
]; ];
$validator = Validator::make($data, (new PageRequest)->rules()); $validator = Validator::make($data, (new PageRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
@@ -131,10 +129,9 @@ class PageControllerTest extends TestCase
{ {
$page = Page::latest()->first(); $page = Page::latest()->first();
$response = $this->get('/page/' . $page->id . '/edit'); $response = $this->get('/page/'.$page->id.'/edit');
$response->assertStatus(200); $response->assertStatus(200);
} }
public function testUpdatePage() public function testUpdatePage()
@@ -142,14 +139,14 @@ class PageControllerTest extends TestCase
$page = Page::latest()->first(); $page = Page::latest()->first();
$data = [ $data = [
'name' => 'Updated Page Name', 'name' => 'Updated Page Name',
'description' => 'Updated Description', 'description' => 'Updated Description',
]; ];
$validator = Validator::make($data, (new PageRequest)->rules()); $validator = Validator::make($data, (new PageRequest())->rules());
$this->assertTrue($validator->passes()); $this->assertTrue($validator->passes());
$response = $this->put('/page/' . $page->id, $data); $response = $this->put('/page/'.$page->id, $data);
$response->assertStatus(302); // Assuming a successful update redirects $response->assertStatus(302); // Assuming a successful update redirects
$this->assertDatabaseHas('kb_pages', $data); $this->assertDatabaseHas('kb_pages', $data);
@@ -161,14 +158,14 @@ class PageControllerTest extends TestCase
$page = Page::latest()->first(); $page = Page::latest()->first();
$data = [ $data = [
'name' => 'Page1', 'name' => 'Page1',
'description' => 'Updated Description', 'description' => 'Updated Description',
]; ];
$validator = Validator::make($data, (new PageRequest)->rules()); $validator = Validator::make($data, (new PageRequest())->rules());
$this->assertFalse($validator->passes()); $this->assertFalse($validator->passes());
$response = $this->put('/page/' . $page->id, $data); $response = $this->put('/page/'.$page->id, $data);
$response->assertStatus(302); $response->assertStatus(302);
$this->assertTrue($validator->fails()); $this->assertTrue($validator->fails());
$this->assertTrue($validator->errors()->has('name')); $this->assertTrue($validator->errors()->has('name'));
@@ -178,11 +175,10 @@ class PageControllerTest extends TestCase
{ {
$page = Page::latest()->first(); $page = Page::latest()->first();
$response = $this->delete('/page/' . $page->id); $response = $this->delete('/page/'.$page->id);
$response->assertStatus(302); // Assuming a successful deletion redirects $response->assertStatus(302); // Assuming a successful deletion redirects
$this->assertDatabaseMissing('kb_pages', ['id' => $page->id]); $this->assertDatabaseMissing('kb_pages', ['id' => $page->id]);
// You can add more assertions as needed. // You can add more assertions as needed.
} }
} }