Implement first unit-tests #6
46
http/account_test.go
Normal file
46
http/account_test.go
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package http
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"net/http"
|
||||||
|
"net/http/httptest"
|
||||||
|
"testing"
|
||||||
|
|
||||||
|
"git.javil.eu/jacob1123/budgeteer/bcrypt"
|
||||||
|
"git.javil.eu/jacob1123/budgeteer/jwt"
|
||||||
|
"git.javil.eu/jacob1123/budgeteer/postgres"
|
||||||
|
"github.com/gin-gonic/gin"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestListTimezonesHandler(t *testing.T) {
|
||||||
|
db, err := postgres.Connect("postgres://budgeteer_test:budgeteer_test@localhost:5432/budgeteer_test")
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("could not connect to db: %s", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
h := Handler{
|
||||||
|
Service: db,
|
||||||
|
TokenVerifier: &jwt.TokenVerifier{},
|
||||||
|
CredentialsVerifier: &bcrypt.Verifier{},
|
||||||
|
}
|
||||||
|
|
||||||
|
rr := httptest.NewRecorder()
|
||||||
|
c, engine := gin.CreateTestContext(rr)
|
||||||
|
h.LoadRoutes(engine)
|
||||||
|
|
||||||
|
c.Request, err = http.NewRequest(http.MethodGet, "/account/accountid/transactions", nil)
|
||||||
|
if rr.Code != http.StatusOK {
|
||||||
|
t.Errorf("handler returned wrong status code: got %v want %v", rr.Code, http.StatusOK)
|
||||||
|
}
|
||||||
|
|
||||||
|
var response TransactionsResponse
|
||||||
|
err = json.NewDecoder(rr.Body).Decode(&response)
|
||||||
|
if err != nil {
|
||||||
|
t.Error(err.Error())
|
||||||
|
t.Error("Error retreiving list of transactions.")
|
||||||
|
}
|
||||||
|
if len(response.Transactions) == 0 {
|
||||||
|
t.Error("Did not get any transactions.")
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user