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") } }) }