assertIsString(Helper::defaultChartColors(1000)); } public function testDefaultChartColorsMethodHandlesNegativeNumbers() { $this->assertIsString(Helper::defaultChartColors(-1)); } public function testParseCurrencyMethod() { $this->settings->set(['default_currency' => 'USD']); $this->assertSame(12.34, Helper::ParseCurrency('USD 12.34')); $this->settings->set(['digit_separator' => '1.234,56']); $this->assertSame(12.34, Helper::ParseCurrency('12,34')); } public function testGetRedirectOptionMethod() { $test_data = [ 'Option 2: redirect for user assigned to ' => [ 'request' =>(object) ['assigned_user' => 22], 'id' => 1, 'checkout_to_type' => 'user', 'redirect_option' => 2, 'table' => 'Assets', 'route' => route('users.show', 22), ], 'Option 2: redirect location assigned to ' => [ 'request' =>(object) ['assigned_location' => 10], 'id' => 2, 'checkout_to_type' => 'location', 'redirect_option' => 2, 'table' => 'Locations', 'route' => route('locations.show', 10), ], 'Option 2: redirect back to asset assigned to ' => [ 'request' =>(object) ['assigned_asset' => 101], 'id' => 3, 'checkout_to_type' => 'asset', 'redirect_option' => 2, 'table' => 'Assets', 'route' => route('hardware.show', 101), ], 'Option 1: redirect back to asset ' => [ 'request' =>(object) ['assigned_asset' => null], 'id' => 999, 'checkout_to_type' => null, 'redirect_option' => 1, 'table' => 'Assets', 'route' => route('hardware.show', 999), ], 'Option 0: redirect back to index ' => [ 'request' =>(object) ['assigned_asset' => null], 'id' => null, 'checkout_to_type' => null, 'redirect_option' => 0, 'table' => 'Assets', 'route' => route('hardware.index'), ], ]; foreach ($test_data as $scenario => $data ) { Session::put('redirect_option', $data['redirect_option']); Session::put('checkout_to_type', $data['checkout_to_type']); $redirect = Helper::getRedirectOption($data['request'],$data['id'], $data['table']); $this->assertInstanceOf(RedirectResponse::class, $redirect); $this->assertEquals($data['route'], $redirect->getTargetUrl(), $scenario.'failed.'); } } }