diff --git a/front/src/BookForm.vue b/front/src/BookForm.vue index bfa4302..f9aaf75 100644 --- a/front/src/BookForm.vue +++ b/front/src/BookForm.vue @@ -64,6 +64,7 @@ function onWantReadIconClick() { async function onStartReadIconClick() { if (!data.value.startReadDate) { data.value.startReadDate = today + data.value.wantread = false putStartReadDate(props.id, data.value.startReadDate) } else if (!data.value.read) { data.value.startReadDate = null diff --git a/front/src/BookListElement.vue b/front/src/BookListElement.vue index 3e5fb9e..6e40156 100644 --- a/front/src/BookListElement.vue +++ b/front/src/BookListElement.vue @@ -94,6 +94,7 @@ async function userBookStartRead() { if (resp.ok) { currentStartReadDate.value = today isRead.value = false + isWantRead.value = false } else { resp.json().then((json) => (error.value = json)) } diff --git a/internal/apitest/put_userbook_test.go b/internal/apitest/put_userbook_test.go index 8946264..854ff19 100644 --- a/internal/apitest/put_userbook_test.go +++ b/internal/apitest/put_userbook_test.go @@ -137,19 +137,20 @@ func TestPutStartReadUserBooks_WrongDateFormat(t *testing.T) { `{ "startDate": "19/11/2025" }` - bookId := "6" + bookId := "7" testPutUserBooks(t, payload, bookId, http.StatusInternalServerError) } -func TestPutStartReadUserBooks_NewReadOk(t *testing.T) { +func TestPutStartReadUserBooks_UnsetWantReadOk(t *testing.T) { payload := `{ "startDate": "2025-11-19" }` - bookId := "6" + bookId := "7" testPutUserBooks(t, payload, bookId, http.StatusOK) book := testGetBook(t, bookId, http.StatusOK) assert.Equal(t, "2025-11-19", book.StartReadDate) + assert.Equal(t, false, book.WantRead) } func TestPutStartReadUserBooks_Unset(t *testing.T) { @@ -157,7 +158,7 @@ func TestPutStartReadUserBooks_Unset(t *testing.T) { `{ "startDate": "null" }` - bookId := "6" + bookId := "7" testPutUserBooks(t, payload, bookId, http.StatusOK) book := testGetBook(t, bookId, http.StatusOK) assert.Equal(t, "", book.StartReadDate) diff --git a/internal/routes/userbookputupdate.go b/internal/routes/userbookputupdate.go index 3556bda..129a420 100644 --- a/internal/routes/userbookputupdate.go +++ b/internal/routes/userbookputupdate.go @@ -62,6 +62,9 @@ func PutUserBookHandler(ac appcontext.AppContext) { myvalidator.ReturnErrorsAsJsonResponse(&ac, err) return } + if d != nil { + userbook.WantRead = false + } userbook.StartReadDate = d } if userBookPut.Rating != nil {