fixing list dokter

This commit is contained in:
renaldybrada
2026-02-09 09:31:35 +07:00
parent e0fbc4531a
commit 61aa29ccca
5 changed files with 22 additions and 11 deletions
@@ -1,6 +1,7 @@
package dokter package dokter
import ( import (
"antrian-operasi/internal/shared"
"database/sql" "database/sql"
"testing" "testing"
) )
@@ -11,15 +12,15 @@ func TestParsingDokter(t *testing.T) {
expected string expected string
}{ }{
{ {
data: DokterModel{NamaDepan: "Agus", NamaBelakang: "Bayu"}, data: DokterModel{NamaDepan: shared.NullString("Agus"), NamaBelakang: shared.NullString("Bayu")},
expected: "AGUS BAYU", expected: "AGUS BAYU",
}, },
{ {
data: DokterModel{NamaDepan: "Chandra", NamaBelakang: "Dinata"}, data: DokterModel{NamaDepan: shared.NullString("Chandra"), NamaBelakang: shared.NullString("Dinata")},
expected: "CHANDRA DINATA", expected: "CHANDRA DINATA",
}, },
{ {
data: DokterModel{NamaDepan: "Eka", NamaBelakang: "Fahmi"}, data: DokterModel{NamaDepan: shared.NullString("Eka"), NamaBelakang: shared.NullString("Fahmi")},
expected: "EKA FAHMI", expected: "EKA FAHMI",
}, },
} }
@@ -37,9 +38,9 @@ func TestParsingDokter(t *testing.T) {
func TestParsingListDokter(t *testing.T) { func TestParsingListDokter(t *testing.T) {
listModel := ListDokterModel{ listModel := ListDokterModel{
DokterModel{"test-id-1", "test-nip-1", "A", "B", sql.NullString{}, "test-ksm-1"}, DokterModel{"test-id-1", "test-nip-1", shared.NullString("A"), shared.NullString("B"), sql.NullString{}, "test-ksm-1"},
DokterModel{"test-id-2", "test-nip-2", "C", "D", sql.NullString{}, "test-ksm-2"}, DokterModel{"test-id-2", "test-nip-2", shared.NullString("C"), shared.NullString("D"), sql.NullString{}, "test-ksm-2"},
DokterModel{"test-id-3", "test-nip-3", "E", "F", sql.NullString{}, "test-ksm-3"}, DokterModel{"test-id-3", "test-nip-3", shared.NullString("E"), shared.NullString("F"), sql.NullString{}, "test-ksm-3"},
} }
t.Run("test length model list and list response", func(t *testing.T) { t.Run("test length model list and list response", func(t *testing.T) {
+2 -2
View File
@@ -8,8 +8,8 @@ import (
type DokterModel struct { type DokterModel struct {
ID string `json:"id" db:"id"` ID string `json:"id" db:"id"`
Nip string `json:"nip" db:"nip"` Nip string `json:"nip" db:"nip"`
NamaDepan string `json:"nama_depan" db:"nama_depan"` NamaDepan sql.NullString `json:"nama_depan" db:"nama_depan"`
NamaBelakang string `json:"nama_belakang" db:"nama_belakang"` NamaBelakang sql.NullString `json:"nama_belakang" db:"nama_belakang"`
HfisCode sql.NullString `json:"hfis_code" db:"hfis_code"` HfisCode sql.NullString `json:"hfis_code" db:"hfis_code"`
NamaKsm string `json:"nama_ksm" db:"nama_ksm"` NamaKsm string `json:"nama_ksm" db:"nama_ksm"`
} }
@@ -106,7 +106,7 @@ func (r dokterRepo) SearchableListDokter(c *gin.Context) (ListDokterModelPaginat
dbconn, err := r.db.GetSQLXDB(DB_NAME) dbconn, err := r.db.GetSQLXDB(DB_NAME)
if err != nil { if err != nil {
// log.Fatalf("unable to connect db %s", err) // log.Fatalf("unable to connect db %s", err)
return result, nil return result, err
} }
// query count // query count
@@ -128,7 +128,7 @@ func (r dokterRepo) SearchableListDokter(c *gin.Context) (ListDokterModelPaginat
c, dbconn, queryData, &result.Data) c, dbconn, queryData, &result.Data)
if err != nil { if err != nil {
// log.Fatalf("unable to execute query %s", err) // log.Fatalf("unable to execute query %s", err)
return result, nil return result, err
} }
return result, nil return result, nil
+1 -1
View File
@@ -11,7 +11,7 @@ func DokterRowToResponse(row DokterModel) DokterResponse {
return DokterResponse{ return DokterResponse{
ID: row.ID, ID: row.ID,
Nip: row.Nip, Nip: row.Nip,
NamaLengkap: strings.ToUpper(row.NamaDepan) + " " + strings.ToUpper(row.NamaBelakang), NamaLengkap: strings.ToUpper(row.NamaDepan.String) + " " + strings.ToUpper(row.NamaBelakang.String),
HfisCode: hfis, HfisCode: hfis,
NamaKsm: row.NamaKsm, NamaKsm: row.NamaKsm,
} }
+10
View File
@@ -0,0 +1,10 @@
package shared
import "database/sql"
func NullString(s string) sql.NullString {
return sql.NullString{
String: s,
Valid: true,
}
}