mirror of https://github.com/4xmen/xshop.git
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.
398 lines
11 KiB
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()->id));
|
|
$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;
|
|
}
|
|
}
|