diff --git a/.gitignore b/.gitignore index b9eaa7d..20dbf72 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ composer.phar composer.lock .DS_Store coverage.xml -.phpunit.result.cache \ No newline at end of file +.phpunit.result.cache +/.vscode \ No newline at end of file diff --git a/README.md b/README.md index 20b3bdd..dc9db69 100644 --- a/README.md +++ b/README.md @@ -611,7 +611,7 @@ class DefaultCalculator implements Calculator { public static function getAttribute(string $attribute, CartItem $cartItem) { - $decimals = config('cart.format.decimals', 2); + $decimals = Config::get('cart.format.decimals', 2); switch ($attribute) { case 'discount': diff --git a/src/Cart.php b/src/Cart.php index 57a3dea..02a2bef 100644 --- a/src/Cart.php +++ b/src/Cart.php @@ -72,7 +72,7 @@ class Cart { $this->session = $session; $this->events = $events; - $this->taxRate = config('cart.tax'); + $this->taxRate = Config::get('cart.tax'); $this->instance(self::DEFAULT_INSTANCE); } @@ -747,7 +747,7 @@ class Cart */ private static function getTableName(): string { - return config('cart.database.table', 'shoppingcart'); + return Config::get('cart.database.table', 'shoppingcart'); } /** @@ -755,9 +755,9 @@ class Cart */ private function getConnectionName(): ?string { - $connection = config('cart.database.connection'); + $connection = Config::get('cart.database.connection'); - return is_null($connection) ? config('database.default') : $connection; + return is_null($connection) ? Config::get('database.default') : $connection; } /** diff --git a/src/CartItem.php b/src/CartItem.php index 41f8356..7e4b5fa 100644 --- a/src/CartItem.php +++ b/src/CartItem.php @@ -7,6 +7,7 @@ use Illuminate\Contracts\Support\Arrayable; use Illuminate\Contracts\Support\Jsonable; use Illuminate\Database\Eloquent\Model; use Illuminate\Support\Arr; +use Illuminate\Support\Facades\Config; use Money\Money; use Money\Formatter\DecimalMoneyFormatter; use Money\Currencies\ISOCurrencies; @@ -164,8 +165,8 @@ class CartItem implements Arrayable, Jsonable } /** - * This will is the price of the CartItem considering the set quantity. If you need the raw price - * then simply access the price member. + * This will is the price of the CartItem considering the set quantity. If you need the single + * price just set the parameter to true. */ public function price(): Money { @@ -180,9 +181,9 @@ class CartItem implements Arrayable, Jsonable public function discount(): Money { if ($this->discount instanceof Money) { - return $this->price()->subtract($this->discountRate); + return $this->price()->subtract($this->discount); } else { - return $this->price()->multiply($this->discountRate, config('cart.rounding', Money::ROUND_UP)); + return $this->price()->multiply($this->discount, Config::get('cart.rounding', Money::ROUND_UP)); } } @@ -200,7 +201,7 @@ class CartItem implements Arrayable, Jsonable */ public function tax(): Money { - return $this->subtotal()->multiply($this->taxRate + 1, config('cart.rounding', Money::ROUND_UP)); + return $this->subtotal()->multiply($this->taxRate + 1, Config::get('cart.rounding', Money::ROUND_UP)); } /** diff --git a/src/Database/migrations/2018_12_23_120000_create_shoppingcart_table.php b/src/Database/migrations/2018_12_23_120000_create_shoppingcart_table.php index bc905db..89e8188 100644 --- a/src/Database/migrations/2018_12_23_120000_create_shoppingcart_table.php +++ b/src/Database/migrations/2018_12_23_120000_create_shoppingcart_table.php @@ -11,7 +11,7 @@ class CreateShoppingcartTable extends Migration */ public function up() { - Schema::create(config('cart.database.table'), function (Blueprint $table) { + Schema::create(Config::get('cart.database.table'), function (Blueprint $table) { $table->string('identifier'); $table->string('instance'); $table->longText('content'); @@ -26,6 +26,6 @@ class CreateShoppingcartTable extends Migration */ public function down() { - Schema::drop(config('cart.database.table')); + Schema::drop(Config::get('cart.database.table')); } } diff --git a/tests/CartTest.php b/tests/CartTest.php index cdf56c9..ca54548 100644 --- a/tests/CartTest.php +++ b/tests/CartTest.php @@ -951,14 +951,10 @@ class CartTest extends TestCase $cart->setTax('027c91341fd5cf4d2579b49c4b6a90da', 19); $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->price); - $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->discount); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->discountTotal); - $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->priceTarget); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->subtotal); - $this->assertEquals(new Money(95, new Currency('USD')), $cartItem->tax); - $this->assertEquals(new Money(190, new Currency('USD')), $cartItem->taxTotal); - $this->assertEquals(new Money(595, new Currency('USD')), $cartItem->priceTax); - $this->assertEquals(new Money(1190, new Currency('USD')), $cartItem->total); + $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->discount()); + $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->subtotal()); + $this->assertEquals(new Money(190, new Currency('USD')), $cartItem->tax()); + $this->assertEquals(new Money(1190, new Currency('USD')), $cartItem->total()); } /** @test */ @@ -976,14 +972,10 @@ class CartTest extends TestCase $cart->setTax('027c91341fd5cf4d2579b49c4b6a90da', 19); $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->price); - $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->discount); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->discountTotal); - $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->priceTarget); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->subtotal); - $this->assertEquals(new Money(95, new Currency('USD')), $cartItem->tax); - $this->assertEquals(new Money(190, new Currency('USD')), $cartItem->taxTotal); - $this->assertEquals(new Money(595, new Currency('USD')), $cartItem->priceTax); - $this->assertEquals(new Money(1190, new Currency('USD')), $cartItem->total); + $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->discount()); + $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->subtotal()); + $this->assertEquals(new Money(190, new Currency('USD')), $cartItem->tax()); + $this->assertEquals(new Money(1190, new Currency('USD')), $cartItem->total()); } /** @test */ @@ -1004,14 +996,10 @@ class CartTest extends TestCase $cart->setTax('027c91341fd5cf4d2579b49c4b6a90da', 19); $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->price); - $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->discount); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->discountTotal); - $this->assertEquals(new Money(500, new Currency('USD')), $cartItem->priceTarget); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->subtotal); - $this->assertEquals(new Money(95, new Currency('USD')), $cartItem->tax); - $this->assertEquals(new Money(190, new Currency('USD')), $cartItem->taxTotal); - $this->assertEquals(new Money(595, new Currency('USD')), $cartItem->priceTax); - $this->assertEquals(new Money(1190, new Currency('USD')), $cartItem->total); + $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->discount()); + $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->subtotal()); + $this->assertEquals(new Money(190, new Currency('USD')), $cartItem->tax()); + $this->assertEquals(new Money(1190, new Currency('USD')), $cartItem->total()); } /** @test */ @@ -1027,7 +1015,7 @@ class CartTest extends TestCase $cartItem = $cart->get('027c91341fd5cf4d2579b49c4b6a90da'); - $this->assertEquals(new Money(2000, new Currency('USD')), $cartItem->total); + $this->assertEquals(new Money(2000, new Currency('USD')), $cartItem->total()); } /** @test */ @@ -1044,7 +1032,7 @@ class CartTest extends TestCase $cartItem = $cart->get('027c91341fd5cf4d2579b49c4b6a90da'); - $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->total); + $this->assertEquals(new Money(1000, new Currency('USD')), $cartItem->total()); } /** @test */