54 lines
1.5 KiB
Go
54 lines
1.5 KiB
Go
package dokter
|
|
|
|
import (
|
|
"antrian-operasi/internal/shared"
|
|
"database/sql"
|
|
"testing"
|
|
)
|
|
|
|
func TestParsingDokter(t *testing.T) {
|
|
testData := []struct {
|
|
data DokterModel
|
|
expected string
|
|
}{
|
|
{
|
|
data: DokterModel{NamaDepan: shared.NullString("Agus"), NamaBelakang: shared.NullString("Bayu")},
|
|
expected: "AGUS BAYU",
|
|
},
|
|
{
|
|
data: DokterModel{NamaDepan: shared.NullString("Chandra"), NamaBelakang: shared.NullString("Dinata")},
|
|
expected: "CHANDRA DINATA",
|
|
},
|
|
{
|
|
data: DokterModel{NamaDepan: shared.NullString("Eka"), NamaBelakang: shared.NullString("Fahmi")},
|
|
expected: "EKA FAHMI",
|
|
},
|
|
}
|
|
|
|
t.Run("test parsing nama lengkap dokter", func(t *testing.T) {
|
|
for _, tt := range testData {
|
|
response := tt.data.ToResponse()
|
|
|
|
if response.NamaLengkap != tt.expected {
|
|
t.Fatalf("expected %v got %v", tt.expected, response.NamaLengkap)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
|
|
func TestParsingListDokter(t *testing.T) {
|
|
listModel := ListDokterModel{
|
|
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", shared.NullString("C"), shared.NullString("D"), sql.NullString{}, "test-ksm-2"},
|
|
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) {
|
|
response := listModel.ToResponseList()
|
|
|
|
if len(listModel) != len(response) {
|
|
t.Fatalf("length difference between model and response")
|
|
}
|
|
})
|
|
}
|