feat: update profit sharing

This commit is contained in:
efrilm
2026-10-04 21:54:13 +07:00
parent b59b7b4ddd
commit 117e3529aa
23 changed files with 521 additions and 95 deletions
@@ -607,7 +607,7 @@ func TestPaymentMethodAnalytics_EnakPointIsNotCashIn(t *testing.T) {
}
// A parent category with its own owner fee percent moves the owner limit away from the
// default share, while purchase and team stay on the default split of revenue.
// default share, and the team limit shrinks by the same amount.
func TestAnalyticsProcessorParentCategoryUsesOwnerFeePercent(t *testing.T) {
monday := time.Date(2026, 9, 28, 0, 0, 0, 0, time.UTC)
processor := NewAnalyticsProcessorImpl(&analyticsRepositoryStub{
@@ -636,8 +636,9 @@ func TestAnalyticsProcessorParentCategoryUsesOwnerFeePercent(t *testing.T) {
require.Len(t, result.Budget.Weekly, 1)
require.Equal(t, float64(900), result.Budget.Weekly[0].SDL)
require.Equal(t, float64(1800), result.Budget.Weekly[0].LimitPurchase)
require.Equal(t, float64(600), result.Budget.Weekly[0].LimitTeam)
require.Equal(t, float64(2100), result.Budget.Weekly[0].LimitTeam)
require.Equal(t, float64(20), result.Budget.Percentages.Owner)
require.Equal(t, float64(80), result.Budget.Percentages.Team)
require.Len(t, result.Budget.Monthly, 1)
require.Equal(t, float64(900), result.Budget.Monthly[0].SDL)
require.Equal(t, float64(900), result.Budget.Total.SDL)