initiate test reference
This commit is contained in:
No files matched your search
@@ -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