non active phase daily checklist

This commit is contained in:
giovanni
2026-06-08 21:01:20 +07:00
parent 540434e33b
commit 59d72f20b4
5 changed files with 79 additions and 1 deletions
@@ -0,0 +1,71 @@
package dto
import (
"math"
"testing"
entity "gitlab.com/mbugroup/lti-api.git/internal/entities"
)
func TestToMarketingReportItemsUsesDeliveryProductTotalWeight(t *testing.T) {
mdps := []entity.MarketingDeliveryProduct{
{
Id: 1,
UsageQty: 10,
AvgWeight: 2.5,
TotalWeight: 17.75,
UnitPrice: 1000,
},
}
got := ToMarketingReportItems(mdps, nil, nil, nil)
if len(got) != 1 {
t.Fatalf("expected 1 marketing report item, got %d", len(got))
}
if got[0].TotalWeightKg != 17.75 {
t.Fatalf("expected total_weight_kg to use delivery product total_weight 17.75, got %.2f", got[0].TotalWeightKg)
}
if got[0].Qty != 10 {
t.Fatalf("expected qty to stay from usage_qty, got %.2f", got[0].Qty)
}
if got[0].AverageWeightKg != 2.5 {
t.Fatalf("expected average_weight_kg to stay from avg_weight, got %.2f", got[0].AverageWeightKg)
}
if got[0].SalesAmount != 17750 {
t.Fatalf("expected sales_amount to use delivery product total_weight, got %.2f", got[0].SalesAmount)
}
}
func TestMarketingSummaryUsesReportItemTotalWeight(t *testing.T) {
items := []RepportMarketingItemDTO{
{
Qty: 10,
TotalWeightKg: 17.75,
SalesAmount: 17750,
},
{
Qty: 5,
TotalWeightKg: 8.25,
SalesAmount: 8250,
},
}
got := ToSummaryFromDTOItems(items)
if got == nil {
t.Fatal("expected summary, got nil")
}
if got.TotalWeightKg != 26 {
t.Fatalf("expected summary total_weight_kg to sum item total weights, got %.2f", got.TotalWeightKg)
}
if diff := math.Abs(got.AverageWeightKg - (26.0 / 15.0)); diff > 0.000001 {
t.Fatalf("expected summary average_weight_kg to use total_weight_kg / total_qty, got %.6f", got.AverageWeightKg)
}
if got.TotalQty != 15 {
t.Fatalf("expected total qty 15, got %d", got.TotalQty)
}
if got.TotalSalesAmount != 26000 {
t.Fatalf("expected total sales amount 26000, got %d", got.TotalSalesAmount)
}
}