51 lines
1.5 KiB
Go
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")
|
|
}
|
|
})
|
|
}
|