Add exclusive-summary

This commit is contained in:
2026-06-17 18:17:08 +07:00
parent 7a7ac25dcf
commit 4b6cbb69c1
12 changed files with 1235 additions and 6 deletions
@@ -182,3 +182,43 @@ func TestProfitLossAnalyticsModelToContractCopiesDateRange(t *testing.T) {
require.Len(t, result.MainSummary, 1)
require.Equal(t, "total_omset", result.MainSummary[0].ID)
}
func TestExclusiveSummaryPeriodContractToModelParsesFlexibleDates(t *testing.T) {
orgID := uuid.New()
outletID := uuid.New().String()
result, err := ExclusiveSummaryPeriodContractToModel(&contract.ExclusiveSummaryPeriodRequest{
OrganizationID: orgID,
OutletID: &outletID,
DateFrom: "2026-05-26",
DateTo: "2026-05-31",
ExcludeGajiStaffFromReimburse: true,
})
require.NoError(t, err)
require.Equal(t, orgID, result.OrganizationID)
require.NotNil(t, result.OutletID)
require.Equal(t, outletID, result.OutletID.String())
require.True(t, result.ExcludeGajiStaffFromReimburse)
location, err := time.LoadLocation("Asia/Jakarta")
require.NoError(t, err)
require.Equal(t, time.Date(2026, 5, 26, 0, 0, 0, 0, location), result.DateFrom)
require.Equal(t, time.Date(2026, 5, 31, 23, 59, 59, int(time.Second-time.Nanosecond), location), result.DateTo)
}
func TestExclusiveSummaryMonthlyContractToModelParsesMonth(t *testing.T) {
orgID := uuid.New()
result, err := ExclusiveSummaryMonthlyContractToModel(&contract.ExclusiveSummaryMonthlyRequest{
OrganizationID: orgID,
Month: "2026-05",
})
require.NoError(t, err)
require.Equal(t, orgID, result.OrganizationID)
location, err := time.LoadLocation("Asia/Jakarta")
require.NoError(t, err)
require.Equal(t, time.Date(2026, 5, 1, 0, 0, 0, 0, location), result.Month)
}