|
|
|
|
@@ -764,7 +764,6 @@ func TestAddAllowanceSimple(t *testing.T) {
|
|
|
|
|
createTestAllowance(e, "Test Allowance 1", 1000, 1)
|
|
|
|
|
|
|
|
|
|
request := map[string]interface{}{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"amount": 10,
|
|
|
|
|
"description": "Added to allowance 1",
|
|
|
|
|
}
|
|
|
|
|
@@ -791,7 +790,6 @@ func TestAddAllowanceWithSpillage(t *testing.T) {
|
|
|
|
|
e.PUT("/user/1/allowance/0").WithJSON(UpdateAllowanceRequest{Weight: 1}).Expect().Status(200)
|
|
|
|
|
|
|
|
|
|
request := map[string]interface{}{
|
|
|
|
|
"id": 1,
|
|
|
|
|
"amount": 10,
|
|
|
|
|
"description": "Added to allowance 1",
|
|
|
|
|
}
|
|
|
|
|
@@ -816,6 +814,89 @@ func TestAddAllowanceWithSpillage(t *testing.T) {
|
|
|
|
|
history.Value(0).Object().Value("description").String().IsEqual("Added to allowance 1")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestAddAllowanceIdZero(t *testing.T) {
|
|
|
|
|
e := startServer(t)
|
|
|
|
|
|
|
|
|
|
createTestAllowance(e, "Test Allowance 1", 1000, 1)
|
|
|
|
|
|
|
|
|
|
request := map[string]interface{}{
|
|
|
|
|
"amount": 10,
|
|
|
|
|
"description": "Added to allowance 1",
|
|
|
|
|
}
|
|
|
|
|
e.POST("/user/1/allowance/0/add").WithJSON(request).Expect().Status(200)
|
|
|
|
|
|
|
|
|
|
// Verify the allowance is updated
|
|
|
|
|
allowances := e.GET("/user/1/allowance").Expect().Status(200).JSON().Array()
|
|
|
|
|
allowances.Value(0).Object().Value("id").Number().IsEqual(0)
|
|
|
|
|
allowances.Value(0).Object().Value("progress").Number().InDelta(10.0, 0.01)
|
|
|
|
|
|
|
|
|
|
// Verify the history is updated
|
|
|
|
|
history := e.GET("/user/1/history").Expect().Status(200).JSON().Array()
|
|
|
|
|
history.Length().IsEqual(1)
|
|
|
|
|
history.Value(0).Object().Value("allowance").Number().InDelta(10.0, 0.01)
|
|
|
|
|
history.Value(0).Object().Value("timestamp").String().AsDateTime().InRange(getDelta(time.Now(), 2.0))
|
|
|
|
|
history.Value(0).Object().Value("description").String().IsEqual("Added to allowance 1")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestSubtractAllowanceSimple(t *testing.T) {
|
|
|
|
|
e := startServer(t)
|
|
|
|
|
|
|
|
|
|
createTestAllowance(e, "Test Allowance 1", 1000, 1)
|
|
|
|
|
|
|
|
|
|
request := map[string]interface{}{
|
|
|
|
|
"amount": 10,
|
|
|
|
|
"description": "Added to allowance 1",
|
|
|
|
|
}
|
|
|
|
|
e.POST("/user/1/allowance/1/add").WithJSON(request).Expect().Status(200)
|
|
|
|
|
request["amount"] = -2.5
|
|
|
|
|
e.POST("/user/1/allowance/1/add").WithJSON(request).Expect().Status(200)
|
|
|
|
|
|
|
|
|
|
// Verify the allowance is updated
|
|
|
|
|
allowances := e.GET("/user/1/allowance").Expect().Status(200).JSON().Array()
|
|
|
|
|
allowances.Value(1).Object().Value("id").Number().IsEqual(1)
|
|
|
|
|
allowances.Value(1).Object().Value("progress").Number().InDelta(7.5, 0.01)
|
|
|
|
|
|
|
|
|
|
// Verify the history is updated
|
|
|
|
|
history := e.GET("/user/1/history").Expect().Status(200).JSON().Array()
|
|
|
|
|
history.Length().IsEqual(2)
|
|
|
|
|
history.Value(0).Object().Value("allowance").Number().InDelta(10.0, 0.01)
|
|
|
|
|
history.Value(0).Object().Value("timestamp").String().AsDateTime().InRange(getDelta(time.Now(), 2.0))
|
|
|
|
|
history.Value(0).Object().Value("description").String().IsEqual("Added to allowance 1")
|
|
|
|
|
|
|
|
|
|
history.Value(1).Object().Value("allowance").Number().InDelta(-2.5, 0.01)
|
|
|
|
|
history.Value(1).Object().Value("timestamp").String().AsDateTime().InRange(getDelta(time.Now(), 2.0))
|
|
|
|
|
history.Value(1).Object().Value("description").String().IsEqual("Added to allowance 1")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestSubtractllowanceIdZero(t *testing.T) {
|
|
|
|
|
e := startServer(t)
|
|
|
|
|
|
|
|
|
|
createTestAllowance(e, "Test Allowance 1", 1000, 1)
|
|
|
|
|
|
|
|
|
|
request := map[string]interface{}{
|
|
|
|
|
"amount": 10,
|
|
|
|
|
"description": "Added to allowance 1",
|
|
|
|
|
}
|
|
|
|
|
e.POST("/user/1/allowance/0/add").WithJSON(request).Expect().Status(200)
|
|
|
|
|
request["amount"] = -2.5
|
|
|
|
|
e.POST("/user/1/allowance/0/add").WithJSON(request).Expect().Status(200)
|
|
|
|
|
|
|
|
|
|
// Verify the allowance is updated
|
|
|
|
|
allowances := e.GET("/user/1/allowance").Expect().Status(200).JSON().Array()
|
|
|
|
|
allowances.Value(0).Object().Value("id").Number().IsEqual(0)
|
|
|
|
|
allowances.Value(0).Object().Value("progress").Number().InDelta(7.5, 0.01)
|
|
|
|
|
|
|
|
|
|
// Verify the history is updated
|
|
|
|
|
history := e.GET("/user/1/history").Expect().Status(200).JSON().Array()
|
|
|
|
|
history.Length().IsEqual(2)
|
|
|
|
|
history.Value(0).Object().Value("allowance").Number().InDelta(10.0, 0.01)
|
|
|
|
|
history.Value(0).Object().Value("timestamp").String().AsDateTime().InRange(getDelta(time.Now(), 2.0))
|
|
|
|
|
history.Value(0).Object().Value("description").String().IsEqual("Added to allowance 1")
|
|
|
|
|
|
|
|
|
|
history.Value(1).Object().Value("allowance").Number().InDelta(-2.5, 0.01)
|
|
|
|
|
history.Value(1).Object().Value("description").String().IsEqual("Added to allowance 1")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func getDelta(base time.Time, delta float64) (time.Time, time.Time) {
|
|
|
|
|
start := base.Add(-time.Duration(delta) * time.Second)
|
|
|
|
|
end := base.Add(time.Duration(delta) * time.Second)
|
|
|
|
|
|