Set default total allowance to 10 (#83)
Some checks failed
Backend Build and Test / build (push) Has started running
Backend Deploy / build (push) Has been cancelled

Reviewed-on: #83
This commit is contained in:
Sebastiaan de Schaetzen 2025-05-25 15:04:59 +02:00
parent f9fb956efd
commit 8cbfff81f6
3 changed files with 39 additions and 0 deletions

Binary file not shown.

View File

@ -605,6 +605,36 @@ func TestCompleteTask(t *testing.T) {
} }
} }
func TestCompleteTaskWithNoWeights(t *testing.T) {
e := startServer(t)
taskId := createTestTaskWithAmount(e, 101)
e.GET("/tasks").Expect().Status(200).JSON().Array().Length().IsEqual(1)
// Ensure main allowance has no weight
e.PUT("/user/1/allowance/0").WithJSON(UpdateAllowanceRequest{
Weight: 0,
}).Expect().Status(200)
// Complete the task
e.POST("/task/" + strconv.Itoa(taskId) + "/complete").Expect().Status(200)
// Verify the task is marked as completed
e.GET("/task/" + strconv.Itoa(taskId)).Expect().Status(404)
// Verify the allowances are updated for user 1
allowances := e.GET("/user/1/allowance").Expect().Status(200).JSON().Array()
allowances.Length().IsEqual(1)
allowances.Value(0).Object().Value("id").Number().IsEqual(0)
allowances.Value(0).Object().Value("progress").Number().InDelta(101.00, 0.01)
// And also for user 2
allowances = e.GET("/user/2/allowance").Expect().Status(200).JSON().Array()
allowances.Length().IsEqual(1)
allowances.Value(0).Object().Value("id").Number().IsEqual(0)
allowances.Value(0).Object().Value("progress").Number().InDelta(101.00, 0.01)
}
func TestCompleteTaskAllowanceWeightsSumTo0(t *testing.T) { func TestCompleteTaskAllowanceWeightsSumTo0(t *testing.T) {
e := startServer(t) e := startServer(t)
taskId := createTestTaskWithAmount(e, 101) taskId := createTestTaskWithAmount(e, 101)
@ -643,6 +673,11 @@ func TestCompleteAllowance(t *testing.T) {
createTestTaskWithAmount(e, 100) createTestTaskWithAmount(e, 100)
createTestAllowance(e, "Test Allowance 1", 100, 50) createTestAllowance(e, "Test Allowance 1", 100, 50)
// Update base allowance
e.PUT("/user/1/allowance/0").WithJSON(UpdateAllowanceRequest{
Weight: 0,
}).Expect().Status(200)
// Complete the task // Complete the task
e.POST("/task/1/complete").Expect().Status(200) e.POST("/task/1/complete").Expect().Status(200)

View File

@ -0,0 +1,4 @@
alter table users rename column weight to weight_old;
alter table users add column weight real not null default 10.0;
update users set weight = weight_old;
alter table users drop column weight_old;