<?php

namespace Tests\Feature;

use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;

use Illuminate\Support\Arr;
use App\Utilities\Menu;
use App\Models\Page;

class MenuTest extends TestCase
{
    public function test_the_menu_can_be_loaded()
    {
        $page = collect(Menu::getMenu())->filter(function ($page) {
            return count($page['sub_menu']);
        })->random();
        $page = Page::find($page['id']);
        $sub_page = $page->sub_menu->random();

        $this->json('GET', route('load-menu'))
             ->assertSuccessful()
            ->assertJsonFragment([
                'name' => $page->version->name,
                'full_slug' => $page->full_slug,
                'name' => $sub_page->version->name,
                'full_slug' => $sub_page->full_slug,
                //'modules' => [],
            ]);

        /*
        // we arent including modules in the menu anymore, they live on the hub now
        $this->signInAdmin();

        $module = Menu::getModules()->random();

        $this->json('GET', route('load-menu'))
             ->assertSuccessful()
            ->assertJsonFragment([
                'name' => $page->version->name,
                'full_slug' => $page->full_slug,
                'name' => $sub_page->version->name,
                'full_slug' => $sub_page->full_slug,
                'name' => Arr::get($module, 'name'),
                'url' => Arr::get($module, 'url'),
            ]);
         */
    }
}
