initiate test reference
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
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")
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,52 @@
|
||||
package dokter
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestParsingDokter(t *testing.T) {
|
||||
testData := []struct {
|
||||
data DokterModel
|
||||
expected string
|
||||
}{
|
||||
{
|
||||
data: DokterModel{NamaDepan: "Agus", NamaBelakang: "Bayu"},
|
||||
expected: "AGUS BAYU",
|
||||
},
|
||||
{
|
||||
data: DokterModel{NamaDepan: "Chandra", NamaBelakang: "Dinata"},
|
||||
expected: "CHANDRA DINATA",
|
||||
},
|
||||
{
|
||||
data: DokterModel{NamaDepan: "Eka", NamaBelakang: "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", "A", "B", sql.NullString{}, "test-ksm-1"},
|
||||
DokterModel{"test-id-2", "test-nip-2", "C", "D", sql.NullString{}, "test-ksm-2"},
|
||||
DokterModel{"test-id-3", "test-nip-3", "E", "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")
|
||||
}
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,77 @@
|
||||
package pasien
|
||||
|
||||
import (
|
||||
"testing"
|
||||
"time"
|
||||
)
|
||||
|
||||
type testDataAgeCalculator struct {
|
||||
name string
|
||||
birthday time.Time
|
||||
now time.Time
|
||||
expected Age
|
||||
}
|
||||
|
||||
func parseDate(s string) time.Time {
|
||||
t, err := time.Parse("2006-01-02", s)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
return t
|
||||
}
|
||||
|
||||
func TestAgeCalculator(t *testing.T) {
|
||||
dataSet := []testDataAgeCalculator{
|
||||
{
|
||||
name: "2 month 1 day difference",
|
||||
birthday: parseDate("1998-07-15"),
|
||||
now: parseDate("1998-09-16"),
|
||||
expected: Age{Years: 0, Months: 2, Days: 1},
|
||||
},
|
||||
{
|
||||
name: "same day",
|
||||
birthday: parseDate("1998-07-15"),
|
||||
now: parseDate("1998-07-15"),
|
||||
expected: Age{Years: 0, Months: 0, Days: 0},
|
||||
},
|
||||
{
|
||||
name: "1 Year 2 month 3 day difference",
|
||||
birthday: parseDate("1998-07-15"),
|
||||
now: parseDate("1999-09-18"),
|
||||
expected: Age{Years: 1, Months: 2, Days: 3},
|
||||
},
|
||||
{
|
||||
name: "1 Year 1 month 29 day difference",
|
||||
birthday: parseDate("1998-07-15"),
|
||||
now: parseDate("1999-09-13"),
|
||||
expected: Age{Years: 1, Months: 1, Days: 29},
|
||||
},
|
||||
{
|
||||
name: "0 Year 10 month 29 day difference",
|
||||
birthday: parseDate("1998-07-15"),
|
||||
now: parseDate("1999-05-13"),
|
||||
expected: Age{Years: 0, Months: 9, Days: 28},
|
||||
},
|
||||
{
|
||||
name: "birthday after now",
|
||||
birthday: parseDate("1998-07-15"),
|
||||
now: parseDate("1997-05-13"),
|
||||
expected: Age{Years: 0, Months: 0, Days: 0},
|
||||
},
|
||||
}
|
||||
|
||||
for _, tt := range dataSet {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
calc := CalculateAge(tt.birthday, tt.now)
|
||||
|
||||
if calc != tt.expected {
|
||||
t.Fatalf(
|
||||
"expected %+v, got %+v",
|
||||
tt.expected,
|
||||
calc,
|
||||
)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
package tindakan
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestTindakanResponse(t *testing.T) {
|
||||
dataSet := []struct {
|
||||
model TindakanModel
|
||||
expected TindakanResponse
|
||||
}{
|
||||
{
|
||||
model: TindakanModel{KodeTindakan: "XXX", Keterangan: "Tindakan X"},
|
||||
expected: TindakanResponse{Kode: "XXX", Keterangan: "Tindakan X", Select: "XXX | Tindakan X"},
|
||||
},
|
||||
{
|
||||
model: TindakanModel{KodeTindakan: "YYY", Keterangan: "Tindakan Y"},
|
||||
expected: TindakanResponse{Kode: "YYY", Keterangan: "Tindakan Y", Select: "YYY | Tindakan Y"},
|
||||
},
|
||||
{
|
||||
model: TindakanModel{KodeTindakan: "ZZZ", Keterangan: "Tindakan Z"},
|
||||
expected: TindakanResponse{Kode: "ZZZ", Keterangan: "Tindakan Z", Select: "ZZZ | Tindakan Z"},
|
||||
},
|
||||
}
|
||||
|
||||
t.Run("test parsing tindakan", func(t *testing.T) {
|
||||
for _, tt := range dataSet {
|
||||
response := tt.model.ToResponse()
|
||||
|
||||
if response.Kode != tt.expected.Kode || response.Keterangan != tt.expected.Keterangan || response.Select != tt.expected.Select {
|
||||
t.Fatalf("expected %v got %v", tt.expected, response)
|
||||
}
|
||||
}
|
||||
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user