<?php

use Lightscale\LaralightAssets\Manifest;

$path = fn() => public_path('dist/manifest.json');

it('instantiates', function() {
    new Manifest('test.json', '/dist');
})->throwsNoExceptions();

it('generates dir from file', function() use ($path) {
    $manifest = new Manifest($path(), '/dist');
    expect($manifest->getDir())
        ->toBe(public_path('/dist'));
});

it('gets file', function() use ($path) {
    $manifest = new Manifest($path(), '/dist');
    expect($manifest->getFile('main.css'))
        ->toBe('main.testing.css');
});

it('gets url', function() use ($path) {
    $manifest = new Manifest($path(), '/dist');
    expect($manifest->getUrl('main.css'))
        ->toBe(asset('/dist/main.testing.css'));
});

it('gets paths', function() use ($path) {
    $manifest = new Manifest($path(), '/dist');
    expect($manifest->getPath('main.css'))
        ->toBe(public_path('/dist/main.testing.css'));
});