Skip to content

Commit 7e0d49b

Browse files
committed
add unit tests
1 parent b187d2d commit 7e0d49b

File tree

9 files changed

+154
-180
lines changed

9 files changed

+154
-180
lines changed

Console/Commands/RunTaxifyTestsCommand.php

Lines changed: 0 additions & 25 deletions
This file was deleted.

composer.json

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,12 @@
3434
"php": "^7.4|^8.0|^8.1"
3535
},
3636
"require-dev": {
37-
"phpunit/phpunit": "^8.5.8|^9.3.3|^10.0"
37+
"phpunit/phpunit": "^8.5.8|^9.3.3|^10.5",
38+
"orchestra/testbench": "^v6.1.0|^7.0.1|^8.21.1"
3839
},
3940
"autoload": {
4041
"psr-4": {
41-
"Omaralalwi\\LaravelTaxify\\": "src"
42+
"Omaralalwi\\LaravelTaxify\\": "src/"
4243
},
4344
"files": [
4445
"src/helpers.php"
@@ -55,16 +56,16 @@
5556

5657
},
5758
"config": {
59+
"optimize-autoloader": true,
5860
"sort-packages": true
5961
},
6062
"extra": {
6163
"laravel": {
6264
"providers": [
6365
"Omaralalwi\\LaravelTaxify\\LaravelTaxifyServiceProvider"
64-
],
65-
"aliases": {
66-
"LaravelTaxify": "Omaralalwi\\LaravelTaxify\\LaravelTaxifyFacade"
67-
}
66+
]
6867
}
69-
}
68+
},
69+
"minimum-stability": "dev",
70+
"prefer-stable": true
7071
}

config/config.php

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,13 @@
5858

5959
/*
6060
* another profile settings EX:
61-
62-
'sales' => [
63-
TaxConfigKeys::RATE => env('TAXIFY_SALES_RATE', env('TAXIFY_DEFAULT_RATE', TaxDefaults::RATE)),
64-
TaxConfigKeys::TYPE => env('TAXIFY_SALES_TYPE', env('TAXIFY_DEFAULT_TYPE', TaxDefaults::TYPE)),
65-
],
66-
67-
*
6861
*/
62+
// 'sales' => [
63+
// TaxConfigKeys::RATE => env('TAXIFY_SALES_RATE', env('TAXIFY_DEFAULT_RATE', TaxDefaults::RATE)),
64+
// TaxConfigKeys::TYPE => env('TAXIFY_SALES_TYPE', env('TAXIFY_DEFAULT_TYPE', TaxDefaults::TYPE)),
65+
// ],
6966

70-
// Add more configurations as needed...
67+
// Add more tax profiles as needed...
7168
],
7269

7370
/*

src/Enums/TaxDefaults.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ class TaxDefaults
77
const RATE = 0.10;
88
const TYPE = 'percentage';
99
const PROFILE = 'default';
10+
const TEST_AMOUNT = 1500;
1011
}

src/LaravelTaxifyServiceProvider.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
namespace Omaralalwi\LaravelTaxify;
44

55
use Illuminate\Support\ServiceProvider;
6-
use Omaralalwi\LaravelTaxify\Console\Commands\RunTaxifyTestsCommand;
76
use Omaralalwi\LaravelTaxify\Enums\{TaxifyKeys, TaxTransformKeys};
87

98
class LaravelTaxifyServiceProvider extends ServiceProvider
@@ -21,7 +20,7 @@ public function boot()
2120
__DIR__.'/../config/config.php' => config_path('taxify.php'),
2221
], 'config');
2322

24-
$this->commands([]);
23+
// $this->commands([]);
2524
}
2625
}
2726

@@ -43,7 +42,7 @@ protected function registerCommands(): void
4342
{
4443
if ($this->app->runningInConsole()) {
4544
$this->commands([
46-
RunTaxifyTestsCommand::class,
45+
//
4746
]);
4847
}
4948
}

src/Transformers/TaxifyTransformer.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,24 @@
33
namespace Omaralalwi\LaravelTaxify\Transformers;
44

55
use Omaralalwi\LaravelTaxify\Enums\TaxTransformKeys;
6+
use Illuminate\Support\Facades\Log;
67

78
class TaxifyTransformer
89
{
910
public static function transform($totalAmount, $taxAmount, $taxRate = null, $asArray = false): object|array
1011
{
1112
$values = self::transformValues($totalAmount, $taxAmount, $taxRate);
12-
return $asArray ? $values : (object)$values;
13+
return $asArray ? $values : (object) $values;
1314
}
1415

15-
private static function transformValues(float $totalAmount, float $taxAmount, ?float $taxRate = null): array
16+
public static function transformValues(float $totalAmount, float $taxAmount, ?float $taxRate = null): array
1617
{
1718
$taxRate = $taxRate ?: getTaxRate();
1819

1920
return [
20-
TaxTransformKeys::AMOUNT_WITH_TAX => (float) number_format($totalAmount, 2),
21-
TaxTransformKeys::TAX_AMOUNT => (float) number_format($taxAmount, 2),
22-
TaxTransformKeys::TAX_RATE => (float) number_format($taxRate, 2),
21+
TaxTransformKeys::AMOUNT_WITH_TAX => (float) $totalAmount,
22+
TaxTransformKeys::TAX_AMOUNT => (float) $taxAmount,
23+
TaxTransformKeys::TAX_RATE => (float) $taxRate,
2324
];
2425
}
2526

src/helpers.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ function getTaxAmount(float $amount, ?string $profile = null): float
2323
$taxType = getTaxType($profile);
2424

2525
$calculatedAmount = ($taxType === TaxTypes::PERCENTAGE) ? ($taxRate * $amount) : $taxRate;
26-
return (float) number_format($calculatedAmount, 2);
26+
return (float) $calculatedAmount;
2727
} catch (Throwable $e) {
2828
$msg = 'Error while getting tax amount: ' . $e->getMessage();
2929
Log::error($msg);
@@ -43,8 +43,8 @@ function getTaxAmount(float $amount, ?string $profile = null): float
4343
function getTaxRate(?string $profile = null): float
4444
{
4545
$configKeyRate = $profile && !is_null($profile) ?
46-
"taxify.profiles.$profile." . TaxConfigKeys::RATE :
47-
"taxify.profiles." . TaxDefaults::PROFILE . '.' . TaxConfigKeys::RATE;
46+
TaxifyKeys::CONFIG_FILE.'.'.TaxifyKeys::PROFILES_CONFIG_KEY.'.'.$profile.'.'.TaxConfigKeys::RATE :
47+
TaxifyKeys::CONFIG_FILE.'.'.TaxifyKeys::PROFILES_CONFIG_KEY.'.'.TaxDefaults::PROFILE.'.'.TaxConfigKeys::RATE;
4848

4949
return (float) config($configKeyRate, TaxDefaults::RATE);
5050
}
@@ -92,8 +92,8 @@ function getTaxRateAsPercentage(?string $profile = null): string
9292
function getTaxType(?string $profile = null): string
9393
{
9494
return $profile && !is_null($profile) ?
95-
config(TaxifyKeys::CONFIG_FILE.'.'.TaxifyKeys::PROFILES_CONFIG_KEY.'.'.$profile. TaxConfigKeys::TYPE) :
96-
config(TaxifyKeys::CONFIG_FILE.'.'.TaxifyKeys::PROFILES_CONFIG_KEY.'.'.TaxDefaults::PROFILE.'.' .TaxConfigKeys::TYPE, TaxTypes::PERCENTAGE);
95+
config(TaxifyKeys::CONFIG_FILE.'.'.TaxifyKeys::PROFILES_CONFIG_KEY.'.'.$profile.'.'.TaxConfigKeys::TYPE) :
96+
config(TaxifyKeys::CONFIG_FILE.'.'.TaxifyKeys::PROFILES_CONFIG_KEY.'.'.TaxDefaults::PROFILE.'.'.TaxConfigKeys::TYPE, TaxTypes::PERCENTAGE);
9797
}
9898
}
9999

tests/TaxifyTest.php

Lines changed: 0 additions & 127 deletions
This file was deleted.

0 commit comments

Comments
 (0)