Closed MrKrisKrisu closed 1 year ago
3) Tests\Feature\ExportTripsTest::test_json_export Expected response status code [>=200, <300] but received 500. Failed asserting that false is true. The following exception occurred during the last request: ErrorException: Attempt to read property "stopovers" on null in /home/runner/work/traewelling/traewelling/app/Models/TrainCheckin.php:82 Stack trace: #0 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(270): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError() #1 /home/runner/work/traewelling/traewelling/app/Models/TrainCheckin.php(82): Illuminate\Foundation\Bootstrap\HandleExceptions->Illuminate\Foundation\Bootstrap\{closure}() #2 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(661): App\Models\TrainCheckin->getOriginStopoverAttribute() #3 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(2083): Illuminate\Database\Eloquent\Model->mutateAttribute() #4 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(492): Illuminate\Database\Eloquent\Model->transformModelValue() #5 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(446): Illuminate\Database\Eloquent\Model->getAttributeValue() #6 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2246): Illuminate\Database\Eloquent\Model->getAttribute() #7 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2294): Illuminate\Database\Eloquent\Model->offsetExists() #8 /home/runner/work/traewelling/traewelling/app/Models/TrainCheckin.php(130): Illuminate\Database\Eloquent\Model->__isset() #9 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(661): App\Models\TrainCheckin->getDurationAttribute() #10 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(2083): Illuminate\Database\Eloquent\Model->mutateAttribute() #11 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(492): Illuminate\Database\Eloquent\Model->transformModelValue() #12 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(446): Illuminate\Database\Eloquent\Model->getAttributeValue() #13 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2246): Illuminate\Database\Eloquent\Model->getAttribute() #14 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Collections/Arr.php(170): Illuminate\Database\Eloquent\Model->offsetExists() #15 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Collections/helpers.php(77): Illuminate\Support\Arr::exists() #16 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(1049): data_get() #17 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(470): Illuminate\Support\Collection->Illuminate\Support\Traits\{closure}() #18 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(734): Illuminate\Support\Collection->Illuminate\Support\Traits\{closure}() #19 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(470): Illuminate\Support\Collection->reduce() #20 /home/runner/work/traewelling/traewelling/app/Models/User.php(97): Illuminate\Support\Collection->sum() #21 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(661): App\Models\User->getTrainDurationAttribute() #22 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(2083): Illuminate\Database\Eloquent\Model->mutateAttribute() #23 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(492): Illuminate\Database\Eloquent\Model->transformModelValue() #24 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasAttributes.php(446): Illuminate\Database\Eloquent\Model->getAttributeValue() #25 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Model.php(2222): Illuminate\Database\Eloquent\Model->getAttribute() #26 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php(139): Illuminate\Database\Eloquent\Model->__get() #27 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Resources/DelegatesToResource.php(139): Illuminate\Http\Resources\Json\JsonResource->__get() #28 /home/runner/work/traewelling/traewelling/app/Http/Resources/UserBaseResource.php(26): Illuminate\Http\Resources\Json\JsonResource->__get() #29 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(95): App\Http\Resources\UserBaseResource->toArray() #30 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(241): Illuminate\Http\Resources\Json\JsonResource->resolve() #31 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(101): Illuminate\Http\Resources\Json\JsonResource->jsonSerialize() #32 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Resources/Json/JsonResource.php(241): Illuminate\Http\Resources\Json\JsonResource->resolve() #33 [internal function]: Illuminate\Http\Resources\Json\JsonResource->jsonSerialize() #34 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(87): json_encode() #35 /home/runner/work/traewelling/traewelling/vendor/symfony/http-foundation/JsonResponse.php(49): Illuminate\Http\JsonResponse->setData() #36 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/JsonResponse.php(32): Symfony\Component\HttpFoundation\JsonResponse->__construct() #37 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/ResponseFactory.php(101): Illuminate\Http\JsonResponse->__construct() #38 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(338): Illuminate\Routing\ResponseFactory->json() #39 /home/runner/work/traewelling/traewelling/app/Http/Controllers/Backend/Export/ExportController.php(84): Illuminate\Support\Facades\Facade::__callStatic() #40 /home/runner/work/traewelling/traewelling/app/Http/Controllers/Backend/Export/ExportController.php(54): App\Http\Controllers\Backend\Export\ExportController::exportJson() #41 /home/runner/work/traewelling/traewelling/app/Http/Controllers/API/v1/StatisticsController.php(364): App\Http\Controllers\Backend\Export\ExportController::generateExport() #42 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): App\Http\Controllers\API\v1\StatisticsController->generateTravelExport() #43 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(43): Illuminate\Routing\Controller->callAction() #44 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Route.php(260): Illuminate\Routing\ControllerDispatcher->dispatch() #45 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\Routing\Route->runController() #46 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Router.php(798): Illuminate\Routing\Route->run() #47 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Routing\Router->Illuminate\Routing\{closure}() #48 /home/runner/work/traewelling/traewelling/vendor/laravel/passport/src/Http/Middleware/CheckForAnyScope.php(28): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #49 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Laravel\Passport\Http\Middleware\CheckForAnyScope->handle() #50 /home/runner/work/traewelling/traewelling/app/Http/Middleware/PrivacyPolicyInterceptionMiddleware.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #51 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\PrivacyPolicyInterceptionMiddleware->handle() #52 /home/runner/work/traewelling/traewelling/app/Http/Middleware/Language.php(61): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #53 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\Language->handle() #54 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #55 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\SubstituteBindings->handle() #56 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php(44): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #57 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Auth\Middleware\Authenticate->handle() #58 /home/runner/work/traewelling/traewelling/app/Http/Middleware/Api/JsonMiddleware.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #59 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): App\Http\Middleware\Api\JsonMiddleware->handle() #60 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(126): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #61 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(62): Illuminate\Routing\Middleware\ThrottleRequests->handleRequest() #62 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Routing\Middleware\ThrottleRequests->handle() #63 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #64 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Router.php(799): Illuminate\Pipeline\Pipeline->then() #65 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Router.php(776): Illuminate\Routing\Router->runRouteWithinStack() #66 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Router.php(740): Illuminate\Routing\Router->runRoute() #67 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Routing/Router.php(729): Illuminate\Routing\Router->dispatchToRoute() #68 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(190): Illuminate\Routing\Router->dispatch() #69 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(141): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() #70 /home/runner/work/traewelling/traewelling/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(59): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #71 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle() #72 /home/runner/work/traewelling/traewelling/vendor/fruitcake/laravel-cors/src/HandleCors.php(52): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #73 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Fruitcake\Cors\HandleCors->handle() #74 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #75 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Http\Middleware\TrustProxies->handle() #76 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #77 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php(31): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() #78 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle() #79 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #80 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() #81 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\TrimStrings->handle() #82 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #83 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle() #84 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #85 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(180): Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle() #86 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(116): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #87 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(165): Illuminate\Pipeline\Pipeline->then() #88 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(134): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() #89 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(557): Illuminate\Foundation\Http\Kernel->handle() #90 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(523): Illuminate\Foundation\Testing\TestCase->call() #91 /home/runner/work/traewelling/traewelling/vendor/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/MakesHttpRequests.php(365): Illuminate\Foundation\Testing\TestCase->json() #92 /home/runner/work/traewelling/traewelling/tests/Feature/ExportTripsTest.php(46): Illuminate\Foundation\Testing\TestCase->postJson() #93 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/Framework/TestCase.php(1608): Tests\Feature\ExportTripsTest->test_json_export() #94 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/Framework/TestCase.php(1214): PHPUnit\Framework\TestCase->runTest() #95 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/Framework/TestResult.php([728](https://github.com/Traewelling/traewelling/actions/runs/5509028394/jobs/10041152182?pr=1728#step:10:729)): PHPUnit\Framework\TestCase->runBare() #96 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/Framework/TestCase.php(964): PHPUnit\Framework\TestResult->run() #97 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/Framework/TestSuite.php(684): PHPUnit\Framework\TestCase->run() #98 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/TextUI/TestRunner.php(651): PHPUnit\Framework\TestSuite->run() #99 /home/runner/work/traewelling/traewelling/vendor/phpunit/phpunit/src/TextUI/Command.php(144): PHPUnit\TextUI\TestRunner->run() #100 /home/runner/work/traewelling/traewelling/vendor/brianium/paratest/bin/phpunit-wrapper.php(42): PHPUnit\TextUI\Command->run() #101 /home/runner/work/traewelling/traewelling/vendor/brianium/paratest/bin/phpunit-wrapper.php(47): {closure}() #102 {main}
fixed with #1728