Output:
Chunk ID: fcc36e
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 1008
Output:
<!DOCTYPE html>
getLocale()) }}">

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{ $title ?? app('current_store')->name }} - {{ app('current_store')->name }}</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])

    Skip to main content

        {{ app('current_store')->settings?->settings_json['announcement'] ?? 'Free shipping over 75 EUR' }}

            {{ app('current_store')->name }}

                Collections
                T-Shirts
                Search
                About

                Search
                Cart
                check() ? route('account.dashboard') : route('account.login') }}" class="hidden rounded-md border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-800 sm:block">Account

        @if(session('status'))

{{ session('status') }}

        @endif
        @if($errors->any())

                    @foreach($errors->all() as $error)

{{ $error }}

                    @endforeach

        @endif
        {{ $slot }}

{{ app('current_store')->name }}

Complete storefront demo with cart, checkout, accounts, and admin operations.

                Collections
                Search
                About

                (c) {{ now()->year }} {{ app('current_store')->name }}. All rights reserved.


Input:
*** Begin Patch
*** Add File: resources/views/components/storefront/layout.blade.php
+<!DOCTYPE html>
+getLocale()) }}">
+
+    <meta charset="utf-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+    <title>{{ $title ?? app('current_store')->name }} - {{ app('current_store')->name }}</title>
+    @vite(['resources/css/app.css', 'resources/js/app.js'])
+
+
+    Skip to main content
+
+

+        {{ app('current_store')->settings?->settings_json['announcement'] ?? 'Free shipping over 75 EUR' }}
+

+
+
+
+            {{ app('current_store')->name }}
+

+                Collections
+                T-Shirts
+                Search
+                About
+

+

+                Search
+                Cart
+                check() ? route('account.dashboard') : route('account.login') }}" class="hidden rounded-md border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-800 sm:block">Account
+

+
+
+
+
+        @if(session('status'))
+

+
{{ session('status') }}

+

+        @endif
+        @if($errors->any())
+

+

+                    @foreach($errors->all() as $error)
+
{{ $error }}

+                    @endforeach
+

+

+        @endif
+        {{ $slot }}
+
+
+
+

+

+
{{ app('current_store')->name }}

+
Complete storefront demo with cart, checkout, accounts, and admin operations.

+

+

+                Collections
+                Search
+                About
+

+

+                (c) {{ now()->year }} {{ app('current_store')->name }}. All rights reserved.
+

+

+
+
+
+
*** Delete File: resources/views/storefront/layout.blade.php
*** End Patch


Success. Updated the following files:
A resources/views/components/storefront/layout.blade.php
D resources/views/storefront/layout.blade.php

<!DOCTYPE html>
getLocale()) }}">

    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>{{ $title ?? app('current_store')->name }} - {{ app('current_store')->name }}</title>
    @vite(['resources/css/app.css', 'resources/js/app.js'])

    Skip to main content

        {{ app('current_store')->settings?->settings_json['announcement'] ?? 'Free shipping over 75 EUR' }}

            {{ app('current_store')->name }}

                Collections
                T-Shirts
                Search
                About

                Search
                Cart
                check() ? route('account.dashboard') : route('account.login') }}" class="hidden rounded-md border border-zinc-200 px-3 py-2 text-sm dark:border-zinc-800 sm:block">Account

        @if(session('status'))

{{ session('status') }}

        @endif
        @if($errors->any())

                    @foreach($errors->all() as $error)

{{ $error }}

                    @endforeach

        @endif
        {{ $slot }}

{{ app('current_store')->name }}

Complete storefront demo with cart, checkout, accounts, and admin operations.

                Collections
                Search
                About

                (c) {{ now()->year }} {{ app('current_store')->name }}. All rights reserved.


Output: {"output":"Success. Updated the following files:\nA resources/views/components/storefront/layout.blade.php\nD resources/views/storefront/layout.blade.php\n","metadata":{"exit_code":0,"duration_seconds":0.0}}


php artisan test --compact tests/Feature/Shop tests/Unit/Shop


Output:
Chunk ID: b10ed5
Wall time: 1.0014 seconds
Process running with session ID 94881
Original token count: 2
Output:

  ...


php artisan test --compact tests/Feature/Shop tests/Unit/Shop

  ....⨯....⨯..
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Shop\CheckoutTest > mock payment provider exposes d…
  Expected response status code [200] but received 404.
Failed asserting that 404 is identical to 200.

  at tests/Feature/Shop/CheckoutTest.php:80
     76▕         'payment_method' => 'bank_transfer',
     77▕     ])->assertRedirectContains('/checkout/confirmation/');
     78▕
     79▕     $this->get('/checkout/confirmation/'.Order::query()->where('email', 'bank@example.com')->value('order_number'))
  ➜  80▕         ->assertOk()
     81▕         ->assertSee('Bank transfer instructions')
     82▕         ->assertSee('DE89370400440532013000');
     83▕ });
     84▕

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Shop\StorefrontTest > cart accepts products, update…
  Redirect location [http://shop.test/cart] does not contain [/checkout/].
Failed asserting that false is true.

The following errors occurred during the last request:

Discount code has expired.

  at tests/Feature/Shop/StorefrontTest.php:46
     42▕     $this->post('/cart/discount', ['discount_code' => 'WELCOME10'])->assertRedirect();
     43▕     $this->get('/cart')->assertSee('WELCOME10')->assertSee('Discount');
     44▕
     45▕     $this->post('/cart/discount', ['discount_code' => 'EXPIRED'])->assertSessionHasErrors('discount_code');
  ➜  46▕     $this->post('/cart/checkout')->assertRedirectContains('/checkout/');
     47▕ });
     48▕
     49▕

  Tests:    2 failed, 10 passed (100 assertions)
  Duration: 1.45s


Output:
Chunk ID: 7c30bb
Wall time: 0.0000 seconds
Process exited with code 1
Original token count: 497
Output:
.⨯....⨯..
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Shop\CheckoutTest > mock payment provider exposes d…
  Expected response status code [200] but received 404.
Failed asserting that 404 is identical to 200.

  at tests/Feature/Shop/CheckoutTest.php:80
     76▕         'payment_method' => 'bank_transfer',
     77▕     ])->assertRedirectContains('/checkout/confirmation/');
     78▕
     79▕     $this->get('/checkout/confirmation/'.Order::query()->where('email', 'bank@example.com')->value('order_number'))
  ➜  80▕         ->assertOk()
     81▕         ->assertSee('Bank transfer instructions')
     82▕         ->assertSee('DE89370400440532013000');
     83▕ });
     84▕

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Shop\StorefrontTest > cart accepts products, update…
  Redirect location [http://shop.test/cart] does not contain [/checkout/].
Failed asserting that false is true.

The following errors occurred during the last request:

Discount code has expired.

  at tests/Feature/Shop/StorefrontTest.php:46
     42▕     $this->post('/cart/discount', ['discount_code' => 'WELCOME10'])->assertRedirect();
     43▕     $this->get('/cart')->assertSee('WELCOME10')->assertSee('Discount');
     44▕
     45▕     $this->post('/cart/discount', ['discount_code' => 'EXPIRED'])->assertSessionHasErrors('discount_code');
  ➜  46▕     $this->post('/cart/checkout')->assertRedirectContains('/checkout/');
     47▕ });
     48▕
     49▕

  Tests:    2 failed, 10 passed (100 assertions)
  Duration: 1.45s


Input:
*** Begin Patch
*** Update File: app/Services/Shop/CartService.php
@@
     public function applyDiscount(string $code): Cart
     {
         $cart = $this->current();
-        $cart->update(['discount_code' => strtoupper($code)]);
+        $previousCode = $cart->discount_code;
+        $cart->forceFill(['discount_code' => strtoupper($code)]);

-        $this->pricing->cartTotals($cart);
+        try {
+            $this->pricing->cartTotals($cart);
+        } catch (\Throwable $exception) {
+            $cart->forceFill(['discount_code' => $previousCode]);
+
+            throw $exception;
+        }
+
+        $cart->save();
         $cart->increment('cart_version');

         return $cart->refresh()->load('lines.variant.product.media');
     }
*** End Patch


Success. Updated the following files:
M app/Services/Shop/CartService.php

@@ -90,5 +90,14 @@
         $cart = $this->current();
-        $cart->update(['discount_code' => strtoupper($code)]);
+        $previousCode = $cart->discount_code;
+        $cart->forceFill(['discount_code' => strtoupper($code)]);
+
+        try {
+            $this->pricing->cartTotals($cart);
+        } catch (\Throwable $exception) {
+            $cart->forceFill(['discount_code' => $previousCode]);

-        $this->pricing->cartTotals($cart);
+            throw $exception;
+        }
+
+        $cart->save();
         $cart->increment('cart_version');
@@ -107,2 +116 @@
 }
-


Output: {"output":"Success. Updated the following files:\nM app/Services/Shop/CartService.php\n","metadata":{"exit_code":0,"duration_seconds":0.0}}


Input:
*** Begin Patch
*** Update File: tests/Feature/Shop/CheckoutTest.php
@@
-    $this->post("/checkout/{$checkoutId}", $base + [
+    $this->post("/checkout/{$checkoutId}", array_merge($base, [
         'email' => 'bank@example.com',
         'payment_method' => 'bank_transfer',
-    ])->assertRedirectContains('/checkout/confirmation/');
+    ]))->assertRedirectContains('/checkout/confirmation/');
*** End Patch


Success. Updated the following files:
M tests/Feature/Shop/CheckoutTest.php

@@ -73,6 +73,6 @@

-    $this->post("/checkout/{$checkoutId}", $base + [
+    $this->post("/checkout/{$checkoutId}", array_merge($base, [
         'email' => 'bank@example.com',
         'payment_method' => 'bank_transfer',
-    ])->assertRedirectContains('/checkout/confirmation/');
+    ]))->assertRedirectContains('/checkout/confirmation/');

@@ -83,2 +83 @@
 });
-


Output: {"output":"Success. Updated the following files:\nM tests/Feature/Shop/CheckoutTest.php\n","metadata":{"exit_code":0,"duration_seconds":0.0}}


Output:
Chunk ID: 711b05
Wall time: 1.0012 seconds
Process running with session ID 20620
Original token count: 2
Output:

  .....


  ............

  Tests:    12 passed (102 assertions)
  Duration: 1.42s


Output:
Chunk ID: 177908
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 17
Output:
.......

  Tests:    12 passed (102 assertions)
  Duration: 1.42s


The focused shop suite now passes: 12 tests and 102 assertions covering storefront browsing, search, cart, checkout, customer account, admin operations, order actions, and pricing. I’m running the full suite next and will adapt the starter tests that still target the old non-shop route names.


Output:
Chunk ID: d0802f
Wall time: 1.0015 seconds
Process running with session ID 44983
Original token count: 6
Output:

  ....⨯....⨯.⨯.


  ....⨯....⨯.⨯......⨯..⨯⨯⨯⨯⨯⨯⨯⨯..⨯⨯⨯⨯..........
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\AuthenticationTest > u…  RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/AuthenticationTest.php:24

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\EmailVerificationTest…   RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/EmailVerificationTest.php:34

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\EmailVerificationTest…   RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/EmailVerificationTest.php:65

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\RegistrationTest > new…  RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/RegistrationTest.php:20

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\DashboardTest > guests are…   RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/DashboardTest.php:8

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\DashboardTest > authenticat…  RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕            …38589 chars truncated…mponents/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/3f627347c7aa907b18f9e2768d89b32b.php:243

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthentic…  RouteNotFoundException
  Route [two-factor.show] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Settings/TwoFactorAuthenticationTest.php:25

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthentic…  RouteNotFoundException
  Route [two-factor.show] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Settings/TwoFactorAuthenticationTest.php:35

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthentic…  RouteNotFoundException
  Route [two-factor.show] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Settings/TwoFactorAuthenticationTest.php:47

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthenticationTest…  ViewException
  Route [profile.edit] not defined. (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/940cc009a08555b5b5c9b6c6e5b5764c.php:217

  Tests:    16 failed, 29 passed (143 assertions)
  Duration: 2.71s


Output:
Chunk ID: 2f7d80
Wall time: 0.0002 seconds
Process exited with code 2
Original token count: 12401
Output:
.....⨯..⨯⨯⨯⨯⨯⨯⨯⨯..⨯⨯⨯⨯..........
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\AuthenticationTest > u…  RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/AuthenticationTest.php:24

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\EmailVerificationTest…   RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/EmailVerificationTest.php:34

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\EmailVerificationTest…   RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/EmailVerificationTest.php:65

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Auth\RegistrationTest > new…  RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Auth/RegistrationTest.php:20

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\DashboardTest > guests are…   RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/DashboardTest.php:8

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\DashboardTest > authenticat…  RouteNotFoundException
  Route [dashboard] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/DashboardTest.php:16

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\ExampleTest > it returns a successful response
  Expected response status code [200] but received 500.
Failed asserting that 500 is identical to 200.

The following exception occurred during the last request:

PDOException: SQLSTATE[HY000]: General error: 1 no such table: store_domains in /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php:420
Stack trace:
#0 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php(420): PDO->prepare('select "store_i...')
#1 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php(827): Illuminate\Database\Connection->{closure:Illuminate\Database\Connection::select():411}('select "store_i...', Array)
#2 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php(794): Illuminate\Database\Connection->runQueryCallback('select "store_i...', Array, Object(Closure))
#3 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php(411): Illuminate\Database\Connection->run('select "store_i...', Array, Object(Closure))
#4 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3438): Illuminate\Database\Connection->select('select "store_i...', Array, true)
#5 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3423): Illuminate\Database\Query\Builder->runSelect()
#6 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(4013): Illuminate\Database\Query\Builder->{closure:Illuminate\Database\Query\Builder::get():3422}()
#7 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3422): Illuminate\Database\Query\Builder->onceWithColumns(Array, Object(Closure))
#8 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(902): Illuminate\Database\Query\Builder->get(Array)
#9 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(884): Illuminate\Database\Eloquent\Builder->getModels(Array)
#10 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(366): Illuminate\Database\Eloquent\Builder->get(Array)
#11 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(833): Illuminate\Database\Eloquent\Builder->first(Array)
#12 /Users/fabianwesner/Herd/shop/app/Http/Middleware/ResolveStore.php(46): Illuminate\Database\Eloquent\Builder->value('store_id')
#13 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(562): App\Http\Middleware\ResolveStore->{closure:App\Http\Middleware\ResolveStore::resolveForStorefront():42}()
#14 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(532): Illuminate\Cache\Repository->remember('store-domain:ac...', Object(Carbon\CarbonImmutable), Object(Closure))
#15 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(363): Illuminate\Cache\CacheManager->__call('remember', Array)
#16 /Users/fabianwesner/Herd/shop/app/Http/Middleware/ResolveStore.php(42): Illuminate\Support\Facades\Facade::__callStatic('remember', Array)
#17 /Users/fabianwesner/Herd/shop/app/Http/Middleware/ResolveStore.php(19): App\Http\Middleware\ResolveStore->resolveForStorefront(Object(Illuminate\Http\Request))
#18 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): App\Http\Middleware\ResolveStore->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#20 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#21 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#22 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#24 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#25 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#26 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request), Object(Illuminate\Session\EncryptedStore), Object(Closure))
#27 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#29 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#31 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#33 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#34 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#35 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#36 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#37 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#38 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Kernel->{closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():197}(Object(Illuminate\Http\Request))
#39 /Users/fabianwesner/Herd/shop/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}(Object(Illuminate\Http\Request))
#40 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Livewire\Features\SupportDisablingBackButtonCache\DisableBackButtonCacheMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#42 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#43 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#45 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#46 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#48 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#49 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#50 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#51 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(61): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#52 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#53 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#54 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#55 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#56 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle(Object(Illuminate\Http\Request), Object(Closure))
#57 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#58 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\ValidatePathEncoding->handle(Object(Illuminate\Http\Request), Object(Closure))
#59 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#60 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#61 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#62 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(607): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#63 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(368): Illuminate\Foundation\Testing\TestCase->call('GET', '/', Array, Array, Array, Array)
#64 /Users/fabianwesner/Herd/shop/tests/Feature/ExampleTest.php(4): Illuminate\Foundation\Testing\TestCase->get('/')
#65 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Factories/TestCaseMethodFactory.php(168): P\Tests\Feature\ExampleTest->{closure:/Users/fabianwesner/Herd/shop/tests/Feature/ExampleTest.php:3}()
#66 [internal function]: P\Tests\Feature\ExampleTest->{closure:Pest\Factories\TestCaseMethodFactory::getClosure():158}()
#67 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Concerns/Testable.php(429): call_user_func_array(Object(Closure), Array)
#68 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Support/ExceptionTrace.php(26): P\Tests\Feature\ExampleTest->{closure:Pest\Concerns\Testable::__callClosure():429}()
#69 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Concerns/Testable.php(429): Pest\Support\ExceptionTrace::ensure(Object(Closure))
#70 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Concerns/Testable.php(331): P\Tests\Feature\ExampleTest->__callClosure(Object(Closure), Array)
#71 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Factories/TestCaseFactory.php(169) : eval()'d code(17): P\Tests\Feature\ExampleTest->__runTest(Object(Closure))
#72 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestCase.php(1332): P\Tests\Feature\ExampleTest->__pest_evaluable_it_returns_a_successful_response()
#73 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestCase.php(519): PHPUnit\Framework\TestCase->runTest()
#74 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestRunner/TestRunner.php(99): PHPUnit\Framework\TestCase->runBare()
#75 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestCase.php(359): PHPUnit\Framework\TestRunner->run(Object(P\Tests\Feature\ExampleTest))
#76 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestSuite.php(374): PHPUnit\Framework\TestCase->run()
#77 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestSuite.php(374): PHPUnit\Framework\TestSuite->run()
#78 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestSuite.php(374): PHPUnit\Framework\TestSuite->run()
#79 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(64): PHPUnit\Framework\TestSuite->run()
#80 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/TextUI/Application.php(229): PHPUnit\TextUI\TestRunner->run(Object(PHPUnit\TextUI\Configuration\Configuration), Object(PHPUnit\Runner\ResultCache\DefaultResultCache), Object(PHPUnit\Framework\TestSuite))
#81 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Kernel.php(103): PHPUnit\TextUI\Application->run(Array)
#82 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/bin/pest(184): Pest\Kernel->handle(Array, Array)
#83 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/bin/pest(192): {closure:/Users/fabianwesner/Herd/shop/vendor/pestphp/pest/bin/pest:18}()
#84 {main}

Next Illuminate\Database\QueryException: SQLSTATE[HY000]: General error: 1 no such table: store_domains (Connection: sqlite, Database: :memory:, SQL: select "store_id" from "store_domains" where "hostname" = acme-fashion.test and "type" = storefront limit 1) in /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php:838
Stack trace:
#0 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php(794): Illuminate\Database\Connection->runQueryCallback('select "store_i...', Array, Object(Closure))
#1 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Connection.php(411): Illuminate\Database\Connection->run('select "store_i...', Array, Object(Closure))
#2 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3438): Illuminate\Database\Connection->select('select "store_i...', Array, true)
#3 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3423): Illuminate\Database\Query\Builder->runSelect()
#4 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(4013): Illuminate\Database\Query\Builder->{closure:Illuminate\Database\Query\Builder::get():3422}()
#5 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Query/Builder.php(3422): Illuminate\Database\Query\Builder->onceWithColumns(Array, Object(Closure))
#6 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(902): Illuminate\Database\Query\Builder->get(Array)
#7 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(884): Illuminate\Database\Eloquent\Builder->getModels(Array)
#8 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Concerns/BuildsQueries.php(366): Illuminate\Database\Eloquent\Builder->get(Array)
#9 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(833): Illuminate\Database\Eloquent\Builder->first(Array)
#10 /Users/fabianwesner/Herd/shop/app/Http/Middleware/ResolveStore.php(46): Illuminate\Database\Eloquent\Builder->value('store_id')
#11 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(562): App\Http\Middleware\ResolveStore->{closure:App\Http\Middleware\ResolveStore::resolveForStorefront():42}()
#12 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cache/CacheManager.php(532): Illuminate\Cache\Repository->remember('store-domain:ac...', Object(Carbon\CarbonImmutable), Object(Closure))
#13 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(363): Illuminate\Cache\CacheManager->__call('remember', Array)
#14 /Users/fabianwesner/Herd/shop/app/Http/Middleware/ResolveStore.php(42): Illuminate\Support\Facades\Facade::__callStatic('remember', Array)
#15 /Users/fabianwesner/Herd/shop/app/Http/Middleware/ResolveStore.php(19): App\Http\Middleware\ResolveStore->resolveForStorefront(Object(Illuminate\Http\Request))
#16 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): App\Http\Middleware\ResolveStore->handle(Object(Illuminate\Http\Request), Object(Closure))
#17 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#18 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#19 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(87): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#20 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle(Object(Illuminate\Http\Request), Object(Closure))
#21 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(48): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#22 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\View\Middleware\ShareErrorsFromSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(120): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#24 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(63): Illuminate\Session\Middleware\StartSession->handleStatefulRequest(Object(Illuminate\Http\Request), Object(Illuminate\Session\EncryptedStore), Object(Closure))
#25 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Session\Middleware\StartSession->handle(Object(Illuminate\Http\Request), Object(Closure))
#26 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(36): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#27 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle(Object(Illuminate\Http\Request), Object(Closure))
#28 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(74): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#29 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Cookie\Middleware\EncryptCookies->handle(Object(Illuminate\Http\Request), Object(Closure))
#30 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#31 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(821): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#32 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(800): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#33 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(764): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#34 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Routing/Router.php(753): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#35 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(200): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#36 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Kernel->{closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():197}(Object(Illuminate\Http\Request))
#37 /Users/fabianwesner/Herd/shop/vendor/livewire/livewire/src/Features/SupportDisablingBackButtonCache/DisableBackButtonCacheMiddleware.php(19): Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}(Object(Illuminate\Http\Request))
#38 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Livewire\Features\SupportDisablingBackButtonCache\DisableBackButtonCacheMiddleware->handle(Object(Illuminate\Http\Request), Object(Closure))
#39 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#40 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#41 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(Object(Illuminate\Http\Request), Object(Closure))
#42 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#43 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(51): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#44 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\TrimStrings->handle(Object(Illuminate\Http\Request), Object(Closure))
#45 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#46 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#47 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(109): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#48 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(Object(Illuminate\Http\Request), Object(Closure))
#49 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php(61): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#50 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\HandleCors->handle(Object(Illuminate\Http\Request), Object(Closure))
#51 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(58): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#52 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#53 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php(22): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#54 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle(Object(Illuminate\Http\Request), Object(Closure))
#55 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php(26): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#56 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(219): Illuminate\Http\Middleware\ValidatePathEncoding->handle(Object(Illuminate\Http\Request), Object(Closure))
#57 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(137): Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}(Object(Illuminate\Http\Request))
#58 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(175): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#59 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(144): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#60 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(607): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#61 /Users/fabianwesner/Herd/shop/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(368): Illuminate\Foundation\Testing\TestCase->call('GET', '/', Array, Array, Array, Array)
#62 /Users/fabianwesner/Herd/shop/tests/Feature/ExampleTest.php(4): Illuminate\Foundation\Testing\TestCase->get('/')
#63 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Factories/TestCaseMethodFactory.php(168): P\Tests\Feature\ExampleTest->{closure:/Users/fabianwesner/Herd/shop/tests/Feature/ExampleTest.php:3}()
#64 [internal function]: P\Tests\Feature\ExampleTest->{closure:Pest\Factories\TestCaseMethodFactory::getClosure():158}()
#65 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Concerns/Testable.php(429): call_user_func_array(Object(Closure), Array)
#66 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Support/ExceptionTrace.php(26): P\Tests\Feature\ExampleTest->{closure:Pest\Concerns\Testable::__callClosure():429}()
#67 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Concerns/Testable.php(429): Pest\Support\ExceptionTrace::ensure(Object(Closure))
#68 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Concerns/Testable.php(331): P\Tests\Feature\ExampleTest->__callClosure(Object(Closure), Array)
#69 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Factories/TestCaseFactory.php(169) : eval()'d code(17): P\Tests\Feature\ExampleTest->__runTest(Object(Closure))
#70 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestCase.php(1332): P\Tests\Feature\ExampleTest->__pest_evaluable_it_returns_a_successful_response()
#71 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestCase.php(519): PHPUnit\Framework\TestCase->runTest()
#72 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestRunner/TestRunner.php(99): PHPUnit\Framework\TestCase->runBare()
#73 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestCase.php(359): PHPUnit\Framework\TestRunner->run(Object(P\Tests\Feature\ExampleTest))
#74 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestSuite.php(374): PHPUnit\Framework\TestCase->run()
#75 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestSuite.php(374): PHPUnit\Framework\TestSuite->run()
#76 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/Framework/TestSuite.php(374): PHPUnit\Framework\TestSuite->run()
#77 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(64): PHPUnit\Framework\TestSuite->run()
#78 /Users/fabianwesner/Herd/shop/vendor/phpunit/phpunit/src/TextUI/Application.php(229): PHPUnit\TextUI\TestRunner->run(Object(PHPUnit\TextUI\Configuration\Configuration), Object(PHPUnit\Runner\ResultCache\DefaultResultCache), Object(PHPUnit\Framework\TestSuite))
#79 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/src/Kernel.php(103): PHPUnit\TextUI\Application->run(Array)
#80 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/bin/pest(184): Pest\Kernel->handle(Array, Array)
#81 /Users/fabianwesner/Herd/shop/vendor/pestphp/pest/bin/pest(192): {closure:/Users/fabianwesner/Herd/shop/vendor/pestphp/pest/bin/pest:18}()
#82 {main}

----------------------------------------------------------------------------------

SQLSTATE[HY000]: General error: 1 no such table: store_domains (Connection: sqlite, Database: :memory:, SQL: select "store_id" from "store_domains" where "hostname" = acme-fashion.test and "type" = storefront limit 1)

  at tests/Feature/ExampleTest.php:6
      2▕
      3▕ it('returns a successful response', function () {
      4▕     $response = $this->get('/');
      5▕
  ➜   6▕     $response->assertStatus(200);
      7▕ });
      8▕

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\PasswordUpdateTest > passwo…  ViewException
  Route [profile.edit] not defined. (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/da3d447ed49d5cdc88cf05a89c113235.php:157

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\PasswordUpdateTest > correc…  ViewException
  Route [profile.edit] not defined. (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/da3d447ed49d5cdc88cf05a89c113235.php:157

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\ProfileUpdateTest > profile page is displa…
  Expected response status code [200] but received 404.
Failed asserting that 404 is identical to 200.

  at tests/Feature/Settings/ProfileUpdateTest.php:12
      8▕
      9▕ test('profile page is displayed', function () {
     10▕     $this->actingAs($user = User::factory()->create());
     11▕
  ➜  12▕     $this->get('/settings/profile')->assertOk();
     13▕ });
     14▕
     15▕ test('profile information can be updated', function () {
     16▕     $user = User::factory()->create();

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\ProfileUpdateTest > profile…  ViewException
  Route [profile.edit] not defined. (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/3f627347c7aa907b18f9e2768d89b32b.php:243

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\ProfileUpdateTest > email v…  ViewException
  Route [profile.edit] not defined. (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/3f627347c7aa907b18f9e2768d89b32b.php:243

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthentic…  RouteNotFoundException
  Route [two-factor.show] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Settings/TwoFactorAuthenticationTest.php:25

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthentic…  RouteNotFoundException
  Route [two-factor.show] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Settings/TwoFactorAuthenticationTest.php:35

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthentic…  RouteNotFoundException
  Route [two-factor.show] not defined.

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +2 vendor frames
  3   tests/Feature/Settings/TwoFactorAuthenticationTest.php:47

  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\TwoFactorAuthenticationTest…  ViewException
  Route [profile.edit] not defined. (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php) (View: /Users/fabianwesner/Herd/shop/resources/views/components/settings/layout.blade.php)

  at vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:528
    524▕             ! is_null($url = call_user_func($this->missingNamedRouteResolver, $name, $parameters, $absolute))) {
    525▕             return $url;
    526▕         }
    527▕
  ➜ 528▕         throw new RouteNotFoundException("Route [{$name}] not defined.");
    529▕     }
    530▕
    531▕     /**
    532▕      * Get the URL for a given route instance.

      +10 vendor frames
  11  storage/framework/views/6b3ccd5425b34db2403752506ac47433.php:17
      +8 vendor frames
  20  storage/framework/views/940cc009a08555b5b5c9b6c6e5b5764c.php:217

  Tests:    16 failed, 29 passed (143 assertions)
  Duration: 2.71s


/bin/zsh
-lc
sed -n '1,240p' routes/settings.php

<?php

use App\Livewire\Settings\Appearance;
use App\Livewire\Settings\Password;
use App\Livewire\Settings\Profile;
use App\Livewire\Settings\TwoFactor;
use Illuminate\Support\Facades\Route;
use Laravel\Fortify\Features;

Route::middleware(['auth'])->group(function () {
    Route::redirect('settings', 'settings/profile');

    Route::livewire('settings/profile', Profile::class)->name('profile.edit');
});

Route::middleware(['auth', 'verified'])->group(function () {
    Route::livewire('settings/password', Password::class)->name('user-password.edit');
    Route::livewire('settings/appearance', Appearance::class)->name('appearance.edit');

    Route::livewire('settings/two-factor', TwoFactor::class)
        ->middleware(
            when(
                Features::canManageTwoFactorAuthentication()
                && Features::optionEnabled(Features::twoFactorAuthentication(), 'confirmPassword'),
                ['password.confirm'],
                [],
            ),
        )
        ->name('two-factor.show');
});


Output:
Chunk ID: ffde98
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 258
Output:
<?php

use App\Livewire\Settings\Appearance;
use App\Livewire\Settings\Password;
use App\Livewire\Settings\Profile;
use App\Livewire\Settings\TwoFactor;
use Illuminate\Support\Facades\Route;
use Laravel\Fortify\Features;

Route::middleware(['auth'])->group(function () {
    Route::redirect('settings', 'settings/profile');

    Route::livewire('settings/profile', Profile::class)->name('profile.edit');
});

Route::middleware(['auth', 'verified'])->group(function () {
    Route::livewire('settings/password', Password::class)->name('user-password.edit');
    Route::livewire('settings/appearance', Appearance::class)->name('appearance.edit');

    Route::livewire('settings/two-factor', TwoFactor::class)
        ->middleware(
            when(
                Features::canManageTwoFactorAuthentication()
                && Features::optionEnabled(Features::twoFactorAuthentication(), 'confirmPassword'),
                ['password.confirm'],
                [],
            ),
        )
        ->name('two-factor.show');
});


rg -n "views|features|prefix" config/fortify.php app/Providers/FortifyServiceProvider.php


rg -n "views|features|prefix" config/fortify.php app/Providers/FortifyServiceProvider.php

rg -n 'views|features|prefix' config/fortify.php app/Providers/FortifyServiceProvider.php

Question: views|features|prefix

app/Providers/FortifyServiceProvider.php:44:     * Configure Fortify views.
config/fortify.php:83:    | Here you may specify which prefix Fortify will assign to all the routes
config/fortify.php:89:    'prefix' => '',
config/fortify.php:127:    | Here you may specify if the routes returning views should be disabled as
config/fortify.php:133:    'views' => true,
config/fortify.php:140:    | Some of the Fortify features are optional. You may disable the features
config/fortify.php:142:    | these features, or you can even remove all of these if you need to.
config/fortify.php:146:    'features' => [


Output:
Chunk ID: cc6f21
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 152
Output:
app/Providers/FortifyServiceProvider.php:44:     * Configure Fortify views.
config/fortify.php:83:    | Here you may specify which prefix Fortify will assign to all the routes
config/fortify.php:89:    'prefix' => '',
config/fortify.php:127:    | Here you may specify if the routes returning views should be disabled as
config/fortify.php:133:    'views' => true,
config/fortify.php:140:    | Some of the Fortify features are optional. You may disable the features
config/fortify.php:142:    | these features, or you can even remove all of these if you need to.
config/fortify.php:146:    'features' => [


sed -n '1,100p' tests/Feature/DashboardTest.php && sed -n '1,120p' app/Livewire/Settings/Profile.php


sed -n '1,100p' tests/Feature/DashboardTest.php && sed -n '1,120p' app/Livewire/Settings/Profile.php

Profile.php

<?php

use App\Models\User;

uses(\Illuminate\Foundation\Testing\RefreshDatabase::class);

test('guests are redirected to the login page', function () {
    $response = $this->get(route('dashboard'));
    $response->assertRedirect(route('login'));
});

test('authenticated users can visit the dashboard', function () {
    $user = User::factory()->create();
    $this->actingAs($user);

    $response = $this->get(route('dashboard'));
    $response->assertOk();
});<?php

namespace App\Livewire\Settings;

use App\Concerns\ProfileValidationRules;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Livewire\Attributes\Computed;
use Livewire\Component;

class Profile extends Component
{
    use ProfileValidationRules;

    public string $name = '';

    public string $email = '';

    /**
     * Mount the component.
     */
    public function mount(): void
    {
        $this->name = Auth::user()->name;
        $this->email = Auth::user()->email;
    }

    /**
     * Update the profile information for the currently authenticated user.
     */
    public function updateProfileInformation(): void
    {
        $user = Auth::user();

        $validated = $this->validate($this->profileRules($user->id));

        $user->fill($validated);

        if ($user->isDirty('email')) {
            $user->email_verified_at = null;
        }

        $user->save();

        $this->dispatch('profile-updated', name: $user->name);
    }

    /**
     * Send an email verification notification to the current user.
     */
    public function resendVerificationNotification(): void
    {
        $user = Auth::user();

        if ($user->hasVerifiedEmail()) {
            $this->redirectIntended(default: route('dashboard', absolute: false));

            return;
        }

        $user->sendEmailVerificationNotification();

        Session::flash('status', 'verification-link-sent');
    }

    #[Computed]
    public function hasUnverifiedEmail(): bool
    {
        return Auth::user() instanceof MustVerifyEmail && ! Auth::user()->hasVerifiedEmail();
    }

    #[Computed]
    public function showDeleteUser(): bool
    {
        return ! Auth::user() instanceof MustVerifyEmail
            || (Auth::user() instanceof MustVerifyEmail && Auth::user()->hasVerifiedEmail());
    }
}


Output:
Chunk ID: c5c0de
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 591
Output:
<?php

use App\Models\User;

uses(\Illuminate\Foundation\Testing\RefreshDatabase::class);

test('guests are redirected to the login page', function () {
    $response = $this->get(route('dashboard'));
    $response->assertRedirect(route('login'));
});

test('authenticated users can visit the dashboard', function () {
    $user = User::factory()->create();
    $this->actingAs($user);

    $response = $this->get(route('dashboard'));
    $response->assertOk();
});<?php

namespace App\Livewire\Settings;

use App\Concerns\ProfileValidationRules;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
use Livewire\Attributes\Computed;
use Livewire\Component;

class Profile extends Component
{
    use ProfileValidationRules;

    public string $name = '';

    public string $email = '';

    /**
     * Mount the component.
     */
    public function mount(): void
    {
        $this->name = Auth::user()->name;
        $this->email = Auth::user()->email;
    }

    /**
     * Update the profile information for the currently authenticated user.
     */
    public function updateProfileInformation(): void
    {
        $user = Auth::user();

        $validated = $this->validate($this->profileRules($user->id));

        $user->fill($validated);

        if ($user->isDirty('email')) {
            $user->email_verified_at = null;
        }

        $user->save();

        $this->dispatch('profile-updated', name: $user->name);
    }

    /**
     * Send an email verification notification to the current user.
     */
    public function resendVerificationNotification(): void
    {
        $user = Auth::user();

        if ($user->hasVerifiedEmail()) {
            $this->redirectIntended(default: route('dashboard', absolute: false));

            return;
        }

        $user->sendEmailVerificationNotification();

        Session::flash('status', 'verification-link-sent');
    }

    #[Computed]
    public function hasUnverifiedEmail(): bool
    {
        return Auth::user() instanceof MustVerifyEmail && ! Auth::user()->hasVerifiedEmail();
    }

    #[Computed]
    public function showDeleteUser(): bool
    {
        return ! Auth::user() instanceof MustVerifyEmail
            || (Auth::user() instanceof MustVerifyEmail && Auth::user()->hasVerifiedEmail());
    }
}


Input:
*** Begin Patch
*** Update File: routes/web.php
@@
 use Illuminate\Support\Facades\Route;

+Route::view('dashboard', 'dashboard')
+    ->middleware(['auth', 'verified'])
+    ->name('dashboard');
+
 Route::middleware('storefront')->group(function (): void {
@@
 });
+
+require __DIR__.'/settings.php';

*** End Patch


Success. Updated the following files:
M routes/web.php

@@ -10,2 +10,6 @@

+Route::view('dashboard', 'dashboard')
+    ->middleware(['auth', 'verified'])
+    ->name('dashboard');
+
 Route::middleware('storefront')->group(function (): void {
@@ -44,2 +48,4 @@

+require __DIR__.'/settings.php';
+
 Route::prefix('admin')->name('admin.')->group(function (): void {
@@ -88,2 +94 @@
 });
-


Output: {"output":"Success. Updated the following files:\nM routes/web.php\n","metadata":{"exit_code":0,"duration_seconds":0.0}}


/bin/zsh
-lc
sed -n '1,130p' routes/web.php

<?php

use App\Http\Controllers\AdminAuthController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\CartController;
use App\Http\Controllers\CheckoutController;
use App\Http\Controllers\CustomerAccountController;
use App\Http\Controllers\StorefrontController;
use Illuminate\Support\Facades\Route;

Route::view('dashboard', 'dashboard')
    ->middleware(['auth', 'verified'])
    ->name('dashboard');

Route::middleware('storefront')->group(function (): void {
    Route::get('/', [StorefrontController::class, 'home'])->name('home');
    Route::get('/collections', [StorefrontController::class, 'collections'])->name('collections.index');
    Route::get('/collections/{handle}', [StorefrontController::class, 'collection'])->name('collections.show');
    Route::get('/products/{handle}', [StorefrontController::class, 'product'])->name('products.show');
    Route::get('/search', [StorefrontController::class, 'search'])->middleware('throttle:search')->name('search');
    Route::get('/pages/{handle}', [StorefrontController::class, 'page'])->name('pages.show');

    Route::get('/cart', [CartController::class, 'show'])->name('cart.show');
    Route::post('/cart/lines', [CartController::class, 'add'])->name('cart.add');
    Route::patch('/cart/lines/{line}', [CartController::class, 'update'])->name('cart.update');
    Route::post('/cart/discount', [CartController::class, 'discount'])->name('cart.discount');
    Route::delete('/cart/discount', [CartController::class, 'removeDiscount'])->name('cart.discount.remove');
    Route::post('/cart/checkout', [CartController::class, 'checkout'])->middleware('throttle:checkout')->name('cart.checkout');

    Route::get('/checkout/{checkout}', [CheckoutController::class, 'show'])->name('checkout.show');
    Route::post('/checkout/{checkout}', [CheckoutController::class, 'update'])->middleware('throttle:checkout')->name('checkout.update');
    Route::get('/checkout/confirmation/{orderNumber}', [CheckoutController::class, 'confirmation'])->name('checkout.confirmation');

    Route::get('/account/login', [CustomerAccountController::class, 'login'])->name('account.login');
    Route::post('/account/login', [CustomerAccountController::class, 'authenticate'])->middleware('throttle:login')->name('account.authenticate');
    Route::get('/account/register', [CustomerAccountController::class, 'register'])->name('account.register');
    Route::post('/account/register', [CustomerAccountController::class, 'store'])->name('account.store');
    Route::post('/account/logout', [CustomerAccountController::class, 'logout'])->name('account.logout');

    Route::middleware('auth:customer')->group(function (): void {
        Route::get('/account', [CustomerAccountController::class, 'dashboard'])->name('account.dashboard');
        Route::get('/account/orders', [CustomerAccountController::class, 'orders'])->name('account.orders');
        Route::get('/account/orders/{orderNumber}', [CustomerAccountController::class, 'order'])->name('account.orders.show');
        Route::get('/account/addresses', [CustomerAccountController::class, 'addresses'])->name('account.addresses');
        Route::post('/account/addresses', [CustomerAccountController::class, 'saveAddress'])->name('account.addresses.save');
    });
});

require __DIR__.'/settings.php';

Route::prefix('admin')->name('admin.')->group(function (): void {
    Route::get('/login', [AdminAuthController::class, 'login'])->name('login');
    Route::post('/login', [AdminAuthController::class, 'authenticate'])->middleware('throttle:login')->name('authenticate');
    Route::post('/logout', [AdminAuthController::class, 'logout'])->name('logout');

    Route::middleware(['auth', 'verified', 'admin'])->group(function (): void {
        Route::get('/', [AdminController::class, 'dashboard'])->name('dashboard');
        Route::get('/products', [AdminController::class, 'products'])->name('products.index');
        Route::get('/products/create', [AdminController::class, 'createProduct'])->name('products.create');
        Route::post('/products', [AdminController::class, 'storeProduct'])->name('products.store');
        Route::get('/products/{product}/edit', [AdminController::class, 'editProduct'])->name('products.edit');
        Route::patch('/products/{product}', [AdminController::class, 'updateProduct'])->name('products.update');
        Route::patch('/products/{product}/archive', [AdminController::class, 'archiveProduct'])->name('products.archive');

        Route::get('/orders', [AdminController::class, 'orders'])->name('orders.index');
        Route::get('/orders/{order}', [AdminController::class, 'order'])->name('orders.show');
        Route::post('/orders/{order}/confirm-payment', [AdminController::class, 'confirmPayment'])->name('orders.confirm-payment');
        Route::post('/orders/{order}/refunds', [AdminController::class, 'refund'])->name('orders.refunds');
        Route::post('/orders/{order}/fulfillments', [AdminController::class, 'fulfill'])->name('orders.fulfillments');
        Route::patch('/fulfillments/{fulfillment}/ship', [AdminController::class, 'markShipped'])->name('fulfillments.ship');
        Route::patch('/fulfillments/{fulfillment}/deliver', [AdminController::class, 'markDelivered'])->name('fulfillments.deliver');

        Route::get('/customers', [AdminController::class, 'customers'])->name('customers.index');
        Route::get('/customers/{customer}', [AdminController::class, 'customer'])->name('customers.show');

        Route::get('/discounts', [AdminController::class, 'discounts'])->name('discounts.index');
        Route::post('/discounts', [AdminController::class, 'storeDiscount'])->name('discounts.store');

        Route::get('/settings', [AdminController::class, 'settings'])->name('settings.index');
        Route::patch('/settings', [AdminController::class, 'updateSettings'])->name('settings.update');
        Route::post('/settings/shipping-rates', [AdminController::class, 'addShippingRate'])->name('settings.shipping-rates.store');
        Route::patch('/settings/taxes', [AdminController::class, 'toggleTax'])->name('settings.taxes.toggle');

        Route::get('/collections', fn () => app(AdminController::class)->simple('collections'))->name('collections.index');
        Route::get('/inventory', fn () => app(AdminController::class)->simple('inventory'))->name('inventory.index');
        Route::get('/pages', fn () => app(AdminController::class)->simple('pages'))->name('pages.index');
        Route::get('/navigation', fn () => app(AdminController::class)->simple('navigation'))->name('navigation.index');
        Route::get('/themes', fn () => app(AdminController::class)->simple('themes'))->name('themes.index');
        Route::get('/analytics', fn () => app(AdminController::class)->simple('analytics'))->name('analytics.index');
        Route::get('/apps', fn () => app(AdminController::class)->simple('apps'))->name('apps.index');
        Route::get('/developers', fn () => app(AdminController::class)->simple('developers'))->name('developers.index');
        Route::get('/search/settings', fn () => app(AdminController::class)->simple('search settings'))->name('search.settings');
    });
});


Output:
Chunk ID: a0b5fe
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 1802
Output:
<?php

use App\Http\Controllers\AdminAuthController;
use App\Http\Controllers\AdminController;
use App\Http\Controllers\CartController;
use App\Http\Controllers\CheckoutController;
use App\Http\Controllers\CustomerAccountController;
use App\Http\Controllers\StorefrontController;
use Illuminate\Support\Facades\Route;

Route::view('dashboard', 'dashboard')
    ->middleware(['auth', 'verified'])
    ->name('dashboard');

Route::middleware('storefront')->group(function (): void {
    Route::get('/', [StorefrontController::class, 'home'])->name('home');
    Route::get('/collections', [StorefrontController::class, 'collections'])->name('collections.index');
    Route::get('/collections/{handle}', [StorefrontController::class, 'collection'])->name('collections.show');
    Route::get('/products/{handle}', [StorefrontController::class, 'product'])->name('products.show');
    Route::get('/search', [StorefrontController::class, 'search'])->middleware('throttle:search')->name('search');
    Route::get('/pages/{handle}', [StorefrontController::class, 'page'])->name('pages.show');

    Route::get('/cart', [CartController::class, 'show'])->name('cart.show');
    Route::post('/cart/lines', [CartController::class, 'add'])->name('cart.add');
    Route::patch('/cart/lines/{line}', [CartController::class, 'update'])->name('cart.update');
    Route::post('/cart/discount', [CartController::class, 'discount'])->name('cart.discount');
    Route::delete('/cart/discount', [CartController::class, 'removeDiscount'])->name('cart.discount.remove');
    Route::post('/cart/checkout', [CartController::class, 'checkout'])->middleware('throttle:checkout')->name('cart.checkout');

    Route::get('/checkout/{checkout}', [CheckoutController::class, 'show'])->name('checkout.show');
    Route::post('/checkout/{checkout}', [CheckoutController::class, 'update'])->middleware('throttle:checkout')->name('checkout.update');
    Route::get('/checkout/confirmation/{orderNumber}', [CheckoutController::class, 'confirmation'])->name('checkout.confirmation');

    Route::get('/account/login', [CustomerAccountController::class, 'login'])->name('account.login');
    Route::post('/account/login', [CustomerAccountController::class, 'authenticate'])->middleware('throttle:login')->name('account.authenticate');
    Route::get('/account/register', [CustomerAccountController::class, 'register'])->name('account.register');
    Route::post('/account/register', [CustomerAccountController::class, 'store'])->name('account.store');
    Route::post('/account/logout', [CustomerAccountController::class, 'logout'])->name('account.logout');

    Route::middleware('auth:customer')->group(function (): void {
        Route::get('/account', [CustomerAccountController::class, 'dashboard'])->name('account.dashboard');
        Route::get('/account/orders', [CustomerAccountController::class, 'orders'])->name('account.orders');
        Route::get('/account/orders/{orderNumber}', [CustomerAccountController::class, 'order'])->name('account.orders.show');
        Route::get('/account/addresses', [CustomerAccountController::class, 'addresses'])->name('account.addresses');
        Route::post('/account/addresses', [CustomerAccountController::class, 'saveAddress'])->name('account.addresses.save');
    });
});

require __DIR__.'/settings.php';

Route::prefix('admin')->name('admin.')->group(function (): void {
    Route::get('/login', [AdminAuthController::class, 'login'])->name('login');
    Route::post('/login', [AdminAuthController::class, 'authenticate'])->middleware('throttle:login')->name('authenticate');
    Route::post('/logout', [AdminAuthController::class, 'logout'])->name('logout');

    Route::middleware(['auth', 'verified', 'admin'])->group(function (): void {
        Route::get('/', [AdminController::class, 'dashboard'])->name('dashboard');
        Route::get('/products', [AdminController::class, 'products'])->name('products.index');
        Route::get('/products/create', [AdminController::class, 'createProduct'])->name('products.create');
        Route::post('/products', [AdminController::class, 'storeProduct'])->name('products.store');
        Route::get('/products/{product}/edit', [AdminController::class, 'editProduct'])->name('products.edit');
        Route::patch('/products/{product}', [AdminController::class, 'updateProduct'])->name('products.update');
        Route::patch('/products/{product}/archive', [AdminController::class, 'archiveProduct'])->name('products.archive');

        Route::get('/orders', [AdminController::class, 'orders'])->name('orders.index');
        Route::get('/orders/{order}', [AdminController::class, 'order'])->name('orders.show');
        Route::post('/orders/{order}/confirm-payment', [AdminController::class, 'confirmPayment'])->name('orders.confirm-payment');
        Route::post('/orders/{order}/refunds', [AdminController::class, 'refund'])->name('orders.refunds');
        Route::post('/orders/{order}/fulfillments', [AdminController::class, 'fulfill'])->name('orders.fulfillments');
        Route::patch('/fulfillments/{fulfillment}/ship', [AdminController::class, 'markShipped'])->name('fulfillments.ship');
        Route::patch('/fulfillments/{fulfillment}/deliver', [AdminController::class, 'markDelivered'])->name('fulfillments.deliver');

        Route::get('/customers', [AdminController::class, 'customers'])->name('customers.index');
        Route::get('/customers/{customer}', [AdminController::class, 'customer'])->name('customers.show');

        Route::get('/discounts', [AdminController::class, 'discounts'])->name('discounts.index');
        Route::post('/discounts', [AdminController::class, 'storeDiscount'])->name('discounts.store');

        Route::get('/settings', [AdminController::class, 'settings'])->name('settings.index');
        Route::patch('/settings', [AdminController::class, 'updateSettings'])->name('settings.update');
        Route::post('/settings/shipping-rates', [AdminController::class, 'addShippingRate'])->name('settings.shipping-rates.store');
        Route::patch('/settings/taxes', [AdminController::class, 'toggleTax'])->name('settings.taxes.toggle');

        Route::get('/collections', fn () => app(AdminController::class)->simple('collections'))->name('collections.index');
        Route::get('/inventory', fn () => app(AdminController::class)->simple('inventory'))->name('inventory.index');
        Route::get('/pages', fn () => app(AdminController::class)->simple('pages'))->name('pages.index');
        Route::get('/navigation', fn () => app(AdminController::class)->simple('navigation'))->name('navigation.index');
        Route::get('/themes', fn () => app(AdminController::class)->simple('themes'))->name('themes.index');
        Route::get('/analytics', fn () => app(AdminController::class)->simple('analytics'))->name('analytics.index');
        Route::get('/apps', fn () => app(AdminController::class)->simple('apps'))->name('apps.index');
        Route::get('/developers', fn () => app(AdminController::class)->simple('developers'))->name('developers.index');
        Route::get('/search/settings', fn () => app(AdminController::class)->simple('search settings'))->name('search.settings');
    });
});


sed -n '1,120p' resources/views/dashboard.blade.php


sed -n '1,120p' resources/views/dashboard.blade.php

<x-layouts::app :title="__('Dashboard')">

                <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

                <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

                <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

            <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

</x-layouts::app>


Output:
Chunk ID: 332cab
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 319
Output:
<x-layouts::app :title="__('Dashboard')">

                <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

                <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

                <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

            <x-placeholder-pattern class="absolute inset-0 size-full stroke-gray-900/20 dark:stroke-neutral-100/20" />

</x-layouts::app>


Input:
*** Begin Patch
*** Update File: tests/Feature/ExampleTest.php
@@
 <?php

+uses(\Illuminate\Foundation\Testing\RefreshDatabase::class);
+
 it('returns a successful response', function () {
-    $response = $this->get('/');
+    $this->seed();
+
+    $response = $this->withServerVariables(['HTTP_HOST' => 'shop.test'])->get('/');

     $response->assertStatus(200);
 });
*** End Patch


Success. Updated the following files:
M tests/Feature/ExampleTest.php

@@ -2,4 +2,8 @@

+uses(\Illuminate\Foundation\Testing\RefreshDatabase::class);
+
 it('returns a successful response', function () {
-    $response = $this->get('/');
+    $this->seed();
+
+    $response = $this->withServerVariables(['HTTP_HOST' => 'shop.test'])->get('/');


Output: {"output":"Success. Updated the following files:\nM tests/Feature/ExampleTest.php\n","metadata":{"exit_code":0,"duration_seconds":0.0}}


Output:
Chunk ID: 74cf9f
Wall time: 1.0011 seconds
Process running with session ID 97226
Original token count: 4
Output:

  .............


  ........................⨯....................
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\PasswordUpdateTest > password can be updat…
  Failed asserting that false is true.

  at tests/Feature/Settings/PasswordUpdateTest.php:25
     21▕         ->call('updatePassword');
     22▕
     23▕     $response->assertHasNoErrors();
     24▕
  ➜  25▕     expect(Hash::check('new-password', $user->refresh()->password))->toBeTrue();
     26▕ });
     27▕
     28▕ test('correct password must be provided to update password', function () {
     29▕     $user = User::factory()->create([

  1   tests/Feature/Settings/PasswordUpdateTest.php:25

  Tests:    1 failed, 44 passed (177 assertions)
  Duration: 2.73s


Output:
Chunk ID: 7cc099
Wall time: 0.0000 seconds
Process exited with code 1
Original token count: 236
Output:
...........⨯....................
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\PasswordUpdateTest > password can be updat…
  Failed asserting that false is true.

  at tests/Feature/Settings/PasswordUpdateTest.php:25
     21▕         ->call('updatePassword');
     22▕
     23▕     $response->assertHasNoErrors();
     24▕
  ➜  25▕     expect(Hash::check('new-password', $user->refresh()->password))->toBeTrue();
     26▕ });
     27▕
     28▕ test('correct password must be provided to update password', function () {
     29▕     $user = User::factory()->create([

  1   tests/Feature/Settings/PasswordUpdateTest.php:25

  Tests:    1 failed, 44 passed (177 assertions)
  Duration: 2.73s


Input:
*** Begin Patch
*** Update File: app/Models/User.php
@@
     public function setPasswordAttribute(string $value): void
     {
         $this->attributes['password_hash'] = $value;
     }
+
+    public function getPasswordAttribute(): string
+    {
+        return $this->password_hash;
+    }
*** End Patch


Success. Updated the following files:
M app/Models/User.php

@@ -68,2 +68,7 @@

+    public function getPasswordAttribute(): string
+    {
+        return $this->password_hash;
+    }
+
     public function stores(): BelongsToMany


Output: {"output":"Success. Updated the following files:\nM app/Models/User.php\n","metadata":{"exit_code":0,"duration_seconds":0.0}}


Output:
Chunk ID: 15a764
Wall time: 1.0016 seconds
Process running with session ID 68564
Original token count: 4
Output:

  .............


  ........................⨯....................
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\PasswordUpdateTest > pas…  RuntimeException
  This password does not use the Bcrypt algorithm.

  at vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php:89
     85▕             return false;
     86▕         }
     87▕
     88▕         if ($this->verifyAlgorithm && ! $this->isUsingCorrectAlgorithm($hashedValue)) {
  ➜  89▕             throw new RuntimeException('This password does not use the Bcrypt algorithm.');
     90▕         }
     91▕
     92▕         return parent::check($value, $hashedValue, $options);
     93▕     }

      +3 vendor frames
  4   tests/Feature/Settings/PasswordUpdateTest.php:25

  Tests:    1 failed, 44 passed (176 assertions)
  Duration: 2.71s


Output:
Chunk ID: 44a644
Wall time: 0.0000 seconds
Process exited with code 2
Original token count: 258
Output:
...........⨯....................
  ────────────────────────────────────────────────────────────────────────────
   FAILED  Tests\Feature\Settings\PasswordUpdateTest > pas…  RuntimeException
  This password does not use the Bcrypt algorithm.

  at vendor/laravel/framework/src/Illuminate/Hashing/BcryptHasher.php:89
     85▕             return false;
     86▕         }
     87▕
     88▕         if ($this->verifyAlgorithm && ! $this->isUsingCorrectAlgorithm($hashedValue)) {
  ➜  89▕             throw new RuntimeException('This password does not use the Bcrypt algorithm.');
     90▕         }
     91▕
     92▕         return parent::check($value, $hashedValue, $options);
     93▕     }

      +3 vendor frames
  4   tests/Feature/Settings/PasswordUpdateTest.php:25

  Tests:    1 failed, 44 passed (176 assertions)
  Duration: 2.71s


sed -n '1,140p' app/Livewire/Settings/Password.php


sed -n '1,140p' app/Livewire/Settings/Password.php

<?php

namespace App\Livewire\Settings;

use App\Concerns\PasswordValidationRules;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\ValidationException;
use Livewire\Component;

class Password extends Component
{
    use PasswordValidationRules;

    public string $current_password = '';

    public string $password = '';

    public string $password_confirmation = '';

    /**
     * Update the password for the currently authenticated user.
     */
    public function updatePassword(): void
    {
        try {
            $validated = $this->validate([
                'current_password' => $this->currentPasswordRules(),
                'password' => $this->passwordRules(),
            ]);
        } catch (ValidationException $e) {
            $this->reset('current_password', 'password', 'password_confirmation');

            throw $e;
        }

        Auth::user()->update([
            'password' => $validated['password'],
        ]);

        $this->reset('current_password', 'password', 'password_confirmation');

        $this->dispatch('password-updated');
    }
}


Output:
Chunk ID: d66860
Wall time: 0.0000 seconds
Process exited with code 0
Original token count: 275
Output:
<?php

namespace App\Livewire\Settings;

use App\Concerns\PasswordValidationRules;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\ValidationException;
use Livewire\Component;

class Password extends Component
{
    use PasswordValidationRules;

    public string $current_password = '';

    public string $password = '';

    public string $password_confirmation = '';

    /**
     * Update the password for the currently authenticated user.
     */
    public function updatePassword(): void
    {
        try {
            $validated = $this->validate([
                'current_password' => $this->currentPasswordRules(),
                'password' => $this->passwordRules(),
            ]);
        } catch (ValidationException $e) {
            $this->reset('current_password', 'password', 'password_confirmation');

            throw $e;
        }

        Auth::user()->update([
            'password' => $validated['password'],
        ]);

        $this->reset('current_password', 'password', 'password_confirmation');

        $this->dispatch('password-updated');
    }
}