test endpoint get
This commit is contained in:
@@ -0,0 +1,116 @@
|
||||
package integrationTest
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"testing"
|
||||
)
|
||||
|
||||
const BASEURL = "http://localhost:9000/"
|
||||
|
||||
func TestGetEndpoint(t *testing.T) {
|
||||
defaultDashboardParam := "?month=1&year=2025"
|
||||
|
||||
endpoints := []string{
|
||||
"ping",
|
||||
// references
|
||||
"api/reference/diagnosa",
|
||||
"api/reference/dokter",
|
||||
"api/reference/kategori",
|
||||
"api/reference/pasien",
|
||||
"api/reference/spesialis",
|
||||
"api/reference/sub-spesialis",
|
||||
"api/reference/tindakan",
|
||||
// dashboard
|
||||
"api/dashboard/antrian-per-hari" + defaultDashboardParam,
|
||||
"api/dashboard/antrian-per-kategori",
|
||||
"api/dashboard/antrian-per-spesialis",
|
||||
"api/dashboard/perbandingan-kategori-antrian" + defaultDashboardParam,
|
||||
"api/dashboard/perbandingan-status-antrian" + defaultDashboardParam,
|
||||
"api/dashboard/table-antrian-per-spesialis" + defaultDashboardParam,
|
||||
"api/dashboard/table-antrian-per-subspesialis" + defaultDashboardParam,
|
||||
// antrian-operasi
|
||||
"api/antrian-operasi",
|
||||
}
|
||||
|
||||
for _, ep := range endpoints {
|
||||
t.Run(ep, func(t *testing.T) {
|
||||
resp, err := http.Get(BASEURL + ep)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("endpoint %s error: %v", ep, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode >= 201 {
|
||||
t.Fatalf("endpoint %s broken : %v", ep, resp.Status)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
type searchableTest struct {
|
||||
testcase string
|
||||
endpoint string
|
||||
querySearch string
|
||||
}
|
||||
|
||||
func TestSearchableEndpoint(t *testing.T) {
|
||||
cases := []searchableTest{
|
||||
{testcase: "search diagnosa list", endpoint: "api/reference/diagnosa", querySearch: "abs"},
|
||||
{testcase: "search dokter list", endpoint: "api/reference/dokter", querySearch: "agus"},
|
||||
{testcase: "search kategori list", endpoint: "api/reference/kategori", querySearch: "elektif"},
|
||||
{testcase: "search pasien list", endpoint: "api/reference/pasien", querySearch: "rudi"},
|
||||
{testcase: "search spesialis list", endpoint: "api/reference/spesialis", querySearch: "urolog"},
|
||||
{testcase: "search subspesialis list", endpoint: "api/reference/sub-spesialis", querySearch: "bedah"},
|
||||
{testcase: "search tindakan list", endpoint: "api/reference/tindakan", querySearch: "procedure"},
|
||||
{testcase: "search antrian operasi list", endpoint: "api/antrian-operasi", querySearch: "110393243"},
|
||||
}
|
||||
|
||||
for _, c := range cases {
|
||||
t.Run(c.testcase, func(t *testing.T) {
|
||||
resp, err := http.Get(BASEURL + c.endpoint + "?search=" + c.querySearch)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("endpoint %s error with search %s: %v", c.endpoint, c.querySearch, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode >= 201 {
|
||||
t.Fatalf("endpoint %s broken : %v", c.endpoint, resp.Status)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
type antrianOperasiCase struct {
|
||||
testcase string
|
||||
queryParams string
|
||||
}
|
||||
|
||||
func TestListAntrianOperasiParams(t *testing.T) {
|
||||
cases := []antrianOperasiCase{
|
||||
{testcase: "get all antrian", queryParams: "?type=all"},
|
||||
{testcase: "get antrian by kategori", queryParams: "?type=kategori&type_id=1"},
|
||||
{testcase: "get antrian by spesialis", queryParams: "?type=spesialis&type_id=3"},
|
||||
{testcase: "get antrian by spesialis", queryParams: "?type=spesialis&type_id=4"},
|
||||
{testcase: "get antrian by sub-spesialis", queryParams: "?type=sub-spesialis&type_id=27"},
|
||||
{testcase: "get antrian by status 'belum'", queryParams: "?status=1"},
|
||||
{testcase: "get antrian by status 'sudah'", queryParams: "?status=2"},
|
||||
{testcase: "get antrian by status 'tunda'", queryParams: "?status=3"},
|
||||
{testcase: "get antrian by status 'batal'", queryParams: "?status=4"},
|
||||
}
|
||||
|
||||
endpoint := BASEURL + "api/antrian-operasi"
|
||||
|
||||
for _, c := range cases {
|
||||
t.Run(c.testcase, func(t *testing.T) {
|
||||
resp, err := http.Get(endpoint + c.queryParams)
|
||||
|
||||
if err != nil {
|
||||
t.Fatalf("endpoint %s error: %v", endpoint, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode >= 201 {
|
||||
t.Fatalf("endpoint %s broken : %v", endpoint, resp.Status)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user