feat: add package base prices

This commit is contained in:
2026-08-21 10:21:47 +07:00
parent a7102e6b0e
commit b9eb934364
3 changed files with 225 additions and 17 deletions

View File

@@ -5,6 +5,7 @@ import (
"errors"
"net/http"
"net/http/httptest"
"strings"
"testing"
"primaya-api/cpone-middleware/internal/repository"
@@ -97,8 +98,10 @@ func TestGetPaketResponseAndNotFoundParity(t *testing.T) {
JumlahHari: 1, TotalHarga: "1550913.00", StatusID: 2, LoginBuat: "API_CRM",
TanggalBuat: "2026-08-05T10:05:03.000000Z", LoginEdit: "API_CRM",
TanggalEdit: "2026-08-19T06:05:20.000000Z", NA: "N",
Layanan: []repository.PaketLayanan{}, Operasi: []repository.PaketOperasi{},
Item: []repository.PaketItem{}, Kamar: []repository.PaketKamar{},
Layanan: []repository.PaketLayanan{{HargaDasar: "100,000"}},
Operasi: []repository.PaketOperasi{{HargaDasar: "250,000.00"}},
Item: []repository.PaketItem{{HargaDasar: "50,000.00"}},
Kamar: []repository.PaketKamar{{HargaDasar: "200,000.00"}},
}
repo := &fakePaketRepository{detail: detail}
handler := Handler{paketRepo: repo}
@@ -109,6 +112,16 @@ func TestGetPaketResponseAndNotFoundParity(t *testing.T) {
if recorder.Code != http.StatusOK || repo.detailID != "DISP-260800002" {
t.Fatalf("status=%d id=%q body=%s", recorder.Code, repo.detailID, recorder.Body.String())
}
for _, expected := range []string{
`"HargaDasar":"100,000"`,
`"HargaDasar":"250,000.00"`,
`"HargaDasar":"50,000.00"`,
`"HargaDasar":"200,000.00"`,
} {
if !strings.Contains(recorder.Body.String(), expected) {
t.Fatalf("response does not contain %s: %s", expected, recorder.Body.String())
}
}
notFoundHandler := Handler{paketRepo: &fakePaketRepository{}}
notFoundRequest := httptest.NewRequest(http.MethodGet, "/api/cpone/paket/UNKNOWN", nil)