You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
xshop/tests/Feature/AdminWebPagesTest.php

398 lines
11 KiB
PHP

<?php
namespace Tests\Feature;
use App\Models\Cat;
use App\Models\Contact;
use App\Models\Customer;
use App\Models\Discount;
use App\Models\Invoice;
use App\Models\Product;
use App\Models\Question;
use App\Models\Ticket;
use App\Models\Transport;
use App\Models\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Spatie\Permission\Models\Role;
use Tests\TestCase;
use Xmen\StarterKit\Models\Adv;
use Xmen\StarterKit\Models\Category;
use Xmen\StarterKit\Models\Clip;
use Xmen\StarterKit\Models\Comment;
use Xmen\StarterKit\Models\Gallery;
use Xmen\StarterKit\Models\Menu;
use Xmen\StarterKit\Models\Poll;
use Xmen\StarterKit\Models\Post;
use Xmen\StarterKit\Models\Slider;
class AdminWebPagesTest extends TestCase
{
/**
* A basic feature test example.
*
* @return void
*/
public function test_user_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.user.all'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.user.create'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.user.edit',$user->id));
$response->assertStatus(200);
}
public function test_category_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.category.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.category.create'));
$response->assertStatus(200);
if (Category::count() != 0){
$response = $this->actingAs($user)->get(route('admin.category.edit',Category::first()->slug));
$response->assertStatus(200);
}
}
public function test_post_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.post.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.post.create'));
$response->assertStatus(200);
if (Post::count() != 0){
$response = $this->actingAs($user)->get(route('admin.post.edit',Post::first()->slug));
$response->assertStatus(200);
}
}
public function test_gallery_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.gallery.all'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.gallery.create'));
$response->assertStatus(200);
if (Gallery::count() != 0){
$response = $this->actingAs($user)->get(route('admin.gallery.edit',Gallery::first()->slug));
$response->assertStatus(200);
}
}
public function test_adv_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.adv.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.adv.create'));
$response->assertStatus(200);
if (Adv::count() != 0){
$response = $this->actingAs($user)->get(route('admin.adv.edit',Adv::first()->slug));
$response->assertStatus(200);
}
}
public function test_attachment_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.attachment.index'));
$response->assertStatus(200);
}
public function test_cat_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.cat.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.cat.create'));
$response->assertStatus(200);
if (Cat::count() != 0){
$response = $this->actingAs($user)->get(route('admin.cat.edit',Cat::first()->slug));
$response->assertStatus(200);
}
}
public function test_clip_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.clip.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.clip.create'));
$response->assertStatus(200);
if (Clip::count() != 0){
$response = $this->actingAs($user)->get(route('admin.clip.edit',Clip::first()->slug));
$response->assertStatus(200);
}
}
public function test_comment_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.comment.index'));
$response->assertStatus(200);
if (Comment::count() != 0){
$response = $this->actingAs($user)->get(route('admin.comment.edit',Comment::first()->id));
$response->assertStatus(200);
}
}
public function test_contact_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.contact.index'));
$response->assertStatus(200);
if (Contact::count() != 0){
$response = $this->actingAs($user)->get(route('admin.contact.reply',Contact::first()->id));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.contact.show',Contact::first()->id));
$response->assertStatus(200);
}
}
public function test_customer_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.customer.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.customer.create'));
$response->assertStatus(200);
if (Customer::count() != 0){
$response = $this->actingAs($user)->get(route('admin.customer.edit',Customer::first()->slug));
$response->assertStatus(200);
}
}
public function test_discount_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.discount.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.discount.create'));
$response->assertStatus(200);
if (Discount::count() != 0){
$response = $this->actingAs($user)->get(route('admin.discount.edit',Discount::first()->id));
$response->assertStatus(200);
}
}
public function test_question_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.question.index'));
$response->assertStatus(200);
if (Question::count() != 0){
$response = $this->actingAs($user)->get(route('admin.question.edit',Question::first()->id));
$response->assertStatus(200);
}
}
public function test_invoice_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.invoice.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.invoice.create'));
$response->assertStatus(200);
if (Invoice::count() != 0){
$response = $this->actingAs($user)->get(route('admin.invoice.edit',Invoice::first()->id));
$response->assertStatus(200);
}
}
public function test_menu_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.menu.index'));
$response->assertStatus(200);
if (Menu::count() != 0){
$response = $this->actingAs($user)->get(route('admin.menu.manage',Menu::first()->id));
$response->assertStatus(200);
}
}
public function test_slider_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.slider.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.slider.create'));
$response->assertStatus(200);
if (Slider::count() != 0){
$response = $this->actingAs($user)->get(route('admin.slider.edit',Slider::first()->id));
$response->assertStatus(200);
}
}
public function test_poll_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.poll.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.poll.create'));
$response->assertStatus(200);
if (Poll::count() != 0){
$response = $this->actingAs($user)->get(route('admin.poll.edit',Poll::first()->id));
$response->assertStatus(200);
}
}
public function test_product_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.product.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.product.create'));
$response->assertStatus(200);
if (Product::count() != 0){
$response = $this->actingAs($user)->get(route('admin.product.edit',Product::first()->slug));
$response->assertStatus(200);
}
}
public function test_ticket_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.ticket.index'));
$response->assertStatus(200);
// $response = $this->actingAs($user)->get(route('admin.ticket.create'));
// $response->assertStatus(200);
if (Ticket::count() != 0){
$response = $this->actingAs($user)->get(route('admin.ticket.edit',Ticket::first()->id));
$response->assertStatus(200);
}
}
public function test_transport_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.transport.index'));
$response->assertStatus(200);
$response = $this->actingAs($user)->get(route('admin.transport.create'));
$response->assertStatus(200);
if (Transport::count() != 0){
$response = $this->actingAs($user)->get(route('admin.transport.edit',Transport::first()->id));
$response->assertStatus(200);
}
}
public function test_setting_urls()
{
$user = $this->getValidUser();
$response = $this->actingAs($user)->get(route('admin.setting.index'));
$response->assertStatus(200);
}
private function getValidUser(){
if (User::where('email','admin@example.com')->count() == 0){
if (Role::where('name','super-admin')->count() == 0){
$role = Role::create(['name' => 'super-admin']);
}else{
$role = Role::where('name','super-admin')->first();
}
$user = User::factory()->count(1)->create(['email' => 'admin@example.com']);
$user->assignRole($role);
}else{
$user = User::where('email','admin@example.com')->first();
}
return $user;
}
}