Files
api-antrian-operasi/internal/domain/reference/diagnosa/diagnosa_test.go
T
2026-02-06 09:47:53 +07:00

51 lines
1.5 KiB
Go

package diagnosa
import "testing"
func TestDiagnosaResponse(t *testing.T) {
dataSet := []struct {
model DiagnosaModel
expected DiagnosaResponse
}{
{
model: DiagnosaModel{KodeDiagnosa: "XXX", JenisPenyakit: "Penyakit X"},
expected: DiagnosaResponse{KodeIcd: "XXX", Keterangan: "Penyakit X", Select: "XXX | Penyakit X"},
},
{
model: DiagnosaModel{KodeDiagnosa: "YYY", JenisPenyakit: "Penyakit Y"},
expected: DiagnosaResponse{KodeIcd: "YYY", Keterangan: "Penyakit Y", Select: "YYY | Penyakit Y"},
},
{
model: DiagnosaModel{KodeDiagnosa: "ZZZ", JenisPenyakit: "Penyakit Z"},
expected: DiagnosaResponse{KodeIcd: "ZZZ", Keterangan: "Penyakit Z", Select: "ZZZ | Penyakit Z"},
},
}
t.Run("test parsing diagnosa", func(t *testing.T) {
for _, tt := range dataSet {
response := tt.model.ToResponse()
if response.KodeIcd != tt.expected.KodeIcd || response.Keterangan != tt.expected.Keterangan || response.Select != tt.expected.Select {
t.Fatalf("expected %v got %v", tt.expected, response)
}
}
})
}
func TestListDiagnosaResponse(t *testing.T) {
listModel := ListDiagnosaModel{
{KodeDiagnosa: "XXX", JenisPenyakit: "Penyakit X"},
{KodeDiagnosa: "YYY", JenisPenyakit: "Penyakit Y"},
{KodeDiagnosa: "ZZZ", JenisPenyakit: "Penyakit Z"},
}
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")
}
})
}