(t *testing.T)
| 335 | } |
| 336 | |
| 337 | func TestRemoveNote(t *testing.T) { |
| 338 | testCases := []struct { |
| 339 | yesFlag bool |
| 340 | }{ |
| 341 | { |
| 342 | yesFlag: false, |
| 343 | }, |
| 344 | { |
| 345 | yesFlag: true, |
| 346 | }, |
| 347 | } |
| 348 | |
| 349 | for _, tc := range testCases { |
| 350 | t.Run(fmt.Sprintf("--yes=%t", tc.yesFlag), func(t *testing.T) { |
| 351 | _, opts := setupTestEnv(t) |
| 352 | |
| 353 | // Setup |
| 354 | db, dbPath := database.InitTestFileDB(t) |
| 355 | testutils.Setup2(t, db) |
| 356 | |
| 357 | // Execute |
| 358 | if tc.yesFlag { |
| 359 | testutils.RunDnoteCmd(t, opts, binaryName, "--dbPath", dbPath, "remove", "-y", "1") |
| 360 | } else { |
| 361 | testutils.MustWaitDnoteCmd(t, opts, testutils.ConfirmRemoveNote, binaryName, "--dbPath", dbPath, "remove", "1") |
| 362 | } |
| 363 | |
| 364 | // Test |
| 365 | var noteCount, bookCount, jsNoteCount, linuxNoteCount int |
| 366 | database.MustScan(t, "counting books", db.QueryRow("SELECT count(*) FROM books"), &bookCount) |
| 367 | database.MustScan(t, "counting notes", db.QueryRow("SELECT count(*) FROM notes"), ¬eCount) |
| 368 | database.MustScan(t, "counting js notes", db.QueryRow("SELECT count(*) FROM notes WHERE book_uuid = ?", "js-book-uuid"), &jsNoteCount) |
| 369 | database.MustScan(t, "counting linux notes", db.QueryRow("SELECT count(*) FROM notes WHERE book_uuid = ?", "linux-book-uuid"), &linuxNoteCount) |
| 370 | |
| 371 | assert.Equalf(t, bookCount, 2, "book count mismatch") |
| 372 | assert.Equalf(t, noteCount, 3, "note count mismatch") |
| 373 | assert.Equal(t, jsNoteCount, 2, "js book should have 2 notes") |
| 374 | assert.Equal(t, linuxNoteCount, 1, "linux book book should have 1 note") |
| 375 | |
| 376 | var b1, b2 database.Book |
| 377 | var n1, n2, n3 database.Note |
| 378 | database.MustScan(t, "getting b1", |
| 379 | db.QueryRow("SELECT label, deleted, usn FROM books WHERE uuid = ?", "js-book-uuid"), |
| 380 | &b1.Label, &b1.Deleted, &b1.USN) |
| 381 | database.MustScan(t, "getting b2", |
| 382 | db.QueryRow("SELECT label, deleted, usn FROM books WHERE uuid = ?", "linux-book-uuid"), |
| 383 | &b2.Label, &b2.Deleted, &b2.USN) |
| 384 | database.MustScan(t, "getting n1", |
| 385 | db.QueryRow("SELECT uuid, body, added_on, deleted, dirty, usn FROM notes WHERE book_uuid = ? AND uuid = ?", "js-book-uuid", "f0d0fbb7-31ff-45ae-9f0f-4e429c0c797f"), |
| 386 | &n1.UUID, &n1.Body, &n1.AddedOn, &n1.Deleted, &n1.Dirty, &n1.USN) |
| 387 | database.MustScan(t, "getting n2", |
| 388 | db.QueryRow("SELECT uuid, body, added_on, deleted, dirty, usn FROM notes WHERE book_uuid = ? AND uuid = ?", "js-book-uuid", "43827b9a-c2b0-4c06-a290-97991c896653"), |
| 389 | &n2.UUID, &n2.Body, &n2.AddedOn, &n2.Deleted, &n2.Dirty, &n2.USN) |
| 390 | database.MustScan(t, "getting n3", |
| 391 | db.QueryRow("SELECT uuid, body, added_on, deleted, dirty, usn FROM notes WHERE book_uuid = ? AND uuid = ?", "linux-book-uuid", "3e065d55-6d47-42f2-a6bf-f5844130b2d2"), |
| 392 | &n3.UUID, &n3.Body, &n3.AddedOn, &n3.Deleted, &n3.Dirty, &n3.USN) |
| 393 | |
| 394 | assert.Equal(t, b1.Label, "js", "b1 label mismatch") |
nothing calls this directly
no test coverage detected