including purchase into expenses pie
This commit is contained in:
@@ -26,6 +26,10 @@ final class FinancialCategorySummaryService
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strcasecmp($category, 'Purchase') === 0) {
|
||||||
|
$category = 'Expense';
|
||||||
|
}
|
||||||
|
|
||||||
$expenseCategories[$category] = round(($expenseCategories[$category] ?? 0) + $amount, 2);
|
$expenseCategories[$category] = round(($expenseCategories[$category] ?? 0) + $amount, 2);
|
||||||
$totalExpenses += $amount;
|
$totalExpenses += $amount;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -404,7 +404,7 @@ $canViewFinancialStats = (bool) ($canViewFinancialStats ?? false);
|
|||||||
|
|
||||||
pie('studentGenderChart', data.gender, [palette.blue,palette.orange], data.totalStudents);
|
pie('studentGenderChart', data.gender, [palette.blue,palette.orange], data.totalStudents);
|
||||||
pie('academicResultsChart', data.results, [palette.green,palette.red,palette.slate], data.totalStudents);
|
pie('academicResultsChart', data.results, [palette.green,palette.red,palette.slate], data.totalStudents);
|
||||||
pie('topPerformersChart', data.topGender, [palette.blue,palette.orange], data.totalStudents, 'Other students');
|
pie('topPerformersChart', data.topGender, [palette.blue,palette.orange], data.totalStudents, 'Not classified as top performers');
|
||||||
|
|
||||||
new Chart(document.getElementById('classSizeChart'), {
|
new Chart(document.getElementById('classSizeChart'), {
|
||||||
type:'bar',
|
type:'bar',
|
||||||
|
|||||||
@@ -21,4 +21,17 @@ class FinancialCategorySummaryServiceTest extends CIUnitTestCase
|
|||||||
$this->assertSame(['Books' => 125.50, 'Office Supplies' => 75.0], $summary['expenseCategories']);
|
$this->assertSame(['Books' => 125.50, 'Office Supplies' => 75.0], $summary['expenseCategories']);
|
||||||
$this->assertArrayNotHasKey('Donation', $summary['expenseCategories']);
|
$this->assertArrayNotHasKey('Donation', $summary['expenseCategories']);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testPurchasesAreIncludedInExpenseCategory(): void
|
||||||
|
{
|
||||||
|
$summary = FinancialCategorySummaryService::summarize([
|
||||||
|
['category' => 'Expense', 'amount' => 350],
|
||||||
|
['category' => 'Purchase', 'amount' => 25.50],
|
||||||
|
['category' => 'purchase', 'amount' => 10],
|
||||||
|
]);
|
||||||
|
|
||||||
|
$this->assertSame(385.50, $summary['totalExpenses']);
|
||||||
|
$this->assertSame(['Expense' => 385.50], $summary['expenseCategories']);
|
||||||
|
$this->assertArrayNotHasKey('Purchase', $summary['expenseCategories']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user