From 166fdee5216a6bf5cbc689a4476bf5440eeb3364 Mon Sep 17 00:00:00 2001 From: hackerESQ Date: Thu, 12 Sep 2024 19:34:20 -0500 Subject: [PATCH] adds test for dividend sync --- tests/DividendsTest.php | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/tests/DividendsTest.php b/tests/DividendsTest.php index d3bd75e..bd8bf07 100644 --- a/tests/DividendsTest.php +++ b/tests/DividendsTest.php @@ -2,7 +2,13 @@ namespace Tests; +use App\Models\Dividend; use Tests\TestCase; +use App\Models\User; +use App\Models\Split; +use App\Models\Holding; +use App\Models\Portfolio; +use App\Models\Transaction; use Illuminate\Foundation\Testing\RefreshDatabase; class DividendsTest extends TestCase @@ -11,8 +17,21 @@ class DividendsTest extends TestCase /** */ - public function test_user_has_dashboard_metrics(): void + public function test_new_dividends_update_holding(): void { - // + $this->actingAs($user = User::factory()->create()); + + $portfolio = Portfolio::factory()->create(); + Transaction::factory()->buy()->yearsAgo()->portfolio($portfolio->id)->symbol('ACME')->create(); + + $holding = Holding::query()->portfolio($portfolio->id)->symbol('ACME')->first(); + + $this->assertEquals(0, $holding->dividends_earned); + + Dividend::refreshDividendData('ACME'); + + $holding->refresh(); + + $this->assertEquals(4.95, $holding->dividends_earned); } }