Test
parent
a2e42b82b2
commit
208f0576e5
|
@ -18,9 +18,9 @@ func TestContact(t *testing.T) {
|
||||||
h := NewHandler(db)
|
h := NewHandler(db)
|
||||||
r := NewRouter(h)
|
r := NewRouter(h)
|
||||||
|
|
||||||
setupUsers(t, db, r)
|
users := setupUsers(t, db, r)
|
||||||
|
|
||||||
t.Run("Create", testCreateContact(db, r))
|
t.Run("Create", testCreateContact(db, r, users))
|
||||||
}
|
}
|
||||||
|
|
||||||
func setupUsers(t *testing.T, db *sql.DB, router http.Handler) {
|
func setupUsers(t *testing.T, db *sql.DB, router http.Handler) {
|
||||||
|
@ -43,6 +43,8 @@ func setupUsers(t *testing.T, db *sql.DB, router http.Handler) {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
resultUsers := []User{}
|
||||||
|
|
||||||
for _, user := range users {
|
for _, user := range users {
|
||||||
b, _ := json.Marshal(user)
|
b, _ := json.Marshal(user)
|
||||||
w := httptest.NewRecorder()
|
w := httptest.NewRecorder()
|
||||||
|
@ -50,39 +52,44 @@ func setupUsers(t *testing.T, db *sql.DB, router http.Handler) {
|
||||||
|
|
||||||
router.ServeHTTP(w, r)
|
router.ServeHTTP(w, r)
|
||||||
assertCode(t, w, 200)
|
assertCode(t, w, 200)
|
||||||
|
|
||||||
|
got := new(User)
|
||||||
|
json.NewDecoder(w.Body).Decode(got)
|
||||||
|
|
||||||
|
resultUsers = append(resultUsers, got)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return resultUsers
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func testCreateContact(db *sql.DB, router http.Handler) func(t *testing.T) {
|
func testCreateContact(db *sql.DB, router http.Handler) func(t *testing.T) {
|
||||||
return func(t *testing.T) {
|
return func(t *testing.T) {
|
||||||
|
|
||||||
/*
|
// Setup
|
||||||
// Setup
|
mockUser := &User{
|
||||||
mockUser := &User{
|
PhoneNumber: "+65 9999 1001",
|
||||||
PhoneNumber: "+65 99999999",
|
FirstName: "ContactOwner",
|
||||||
FirstName: "Test",
|
LastName: "User",
|
||||||
LastName: "User 1",
|
}
|
||||||
}
|
b, _ := json.Marshal(mockUser)
|
||||||
b, _ := json.Marshal(mockUser)
|
|
||||||
|
|
||||||
// Test
|
// Test
|
||||||
w := httptest.NewRecorder()
|
w := httptest.NewRecorder()
|
||||||
r := httptest.NewRequest("POST", "/user", bytes.NewBuffer(b))
|
r := httptest.NewRequest("POST", "/user", bytes.NewBuffer(b))
|
||||||
|
|
||||||
router.ServeHTTP(w, r)
|
router.ServeHTTP(w, r)
|
||||||
assertCode(t, w, 200)
|
assertCode(t, w, 200)
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
got, want := new(User), mockUser
|
got, want := new(User), mockUser
|
||||||
wantPhone, _ := ParsePhone(want.PhoneNumber)
|
wantPhone, _ := ParsePhone(want.PhoneNumber)
|
||||||
json.NewDecoder(w.Body).Decode(got)
|
json.NewDecoder(w.Body).Decode(got)
|
||||||
if got.FirstName != want.FirstName || got.LastName != want.LastName || got.PhoneNumber != wantPhone {
|
if got.FirstName != want.FirstName || got.LastName != want.LastName || got.PhoneNumber != wantPhone {
|
||||||
t.Error("Wanted a User with same FirstName, LastName, PhoneNumber. Got something else")
|
t.Error("Wanted a User with same FirstName, LastName, PhoneNumber. Got something else")
|
||||||
}
|
}
|
||||||
|
|
||||||
assertDB(t, db, `SELECT * FROM "user" WHERE phone_number = '+65 9999 9999' AND first_name = 'Test' AND last_name = 'User 1'`)
|
assertDB(t, db, `SELECT * FROM "user" WHERE phone_number = '+65 9999 9999' AND first_name = 'Test' AND last_name = 'User 1'`)
|
||||||
*/
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue