MCPcopy Index your code
hub / github.com/dnote/dnote / TestSync_twoway

Function TestSync_twoway

pkg/e2e/sync/basic_test.go:502–1031  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

500}
501
502func TestSync_twoway(t *testing.T) {
503 t.Run("once", func(t *testing.T) {
504 setup := func(t *testing.T, env testEnv, user database.User) map[string]string {
505 cliDB := env.DB
506
507 jsBookUUID := apiCreateBook(t, env, user, "js", "adding a js book")
508 jsNote1UUID := apiCreateNote(t, env, user, jsBookUUID, "js1", "adding js note 1")
509 cssBookUUID := apiCreateBook(t, env, user, "css", "adding css book")
510 cssNote1UUID := apiCreateNote(t, env, user, cssBookUUID, "css1", "adding css note 1")
511 jsNote2UUID := apiCreateNote(t, env, user, jsBookUUID, "js2", "adding js note 2")
512 cssNote2UUID := apiCreateNote(t, env, user, cssBookUUID, "css2", "adding css note 2")
513 linuxBookUUID := apiCreateBook(t, env, user, "linux", "adding linux book")
514 linuxNote1UUID := apiCreateNote(t, env, user, linuxBookUUID, "linux1", "adding linux note 1")
515 apiPatchNote(t, env, user, jsNote2UUID, fmt.Sprintf(`{"book_uuid": "%s"}`, linuxBookUUID), "moving js note 2 to linux")
516 apiDeleteNote(t, env, user, jsNote1UUID, "deleting js note 1")
517 cssNote3UUID := apiCreateNote(t, env, user, cssBookUUID, "css3", "adding css note 3")
518 bashBookUUID := apiCreateBook(t, env, user, "bash", "adding bash book")
519 bashNote1UUID := apiCreateNote(t, env, user, bashBookUUID, "bash1", "adding bash note 1")
520 apiDeleteBook(t, env, user, linuxBookUUID, "deleting linux book")
521 apiPatchNote(t, env, user, cssNote2UUID, fmt.Sprintf(`{"content": "%s"}`, "css2-edited"), "editing css 2 body")
522 bashNote2UUID := apiCreateNote(t, env, user, bashBookUUID, "bash2", "adding bash note 2")
523 linuxBook2UUID := apiCreateBook(t, env, user, "linux", "adding new linux book")
524 linux2Note1UUID := apiCreateNote(t, env, user, linuxBookUUID, "linux-new-1", "adding linux note 1")
525 apiDeleteBook(t, env, user, jsBookUUID, "deleting js book")
526
527 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "js", "-c", "js3")
528 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "algorithms", "-c", "algorithms1")
529 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "js", "-c", "js4")
530 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "algorithms", "-c", "algorithms2")
531 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "math", "-c", "math1")
532
533 var nid string
534 cliDatabase.MustScan(t, "getting id of note to remove", cliDB.QueryRow("SELECT rowid FROM notes WHERE body = ?", "js3"), &nid)
535
536 clitest.MustWaitDnoteCmd(t, env.CmdOpts, clitest.ConfirmRemoveBook, cliBinaryName, "remove", "algorithms")
537 clitest.RunDnoteCmd(t, env.CmdOpts, cliBinaryName, "add", "css", "-c", "css4")
538 clitest.MustWaitDnoteCmd(t, env.CmdOpts, clitest.ConfirmRemoveNote, cliBinaryName, "remove", "js", nid)
539
540 return map[string]string{
541 "jsBookUUID": jsBookUUID,
542 "jsNote1UUID": jsNote1UUID,
543 "jsNote2UUID": jsNote2UUID,
544 "cssBookUUID": cssBookUUID,
545 "cssNote1UUID": cssNote1UUID,
546 "cssNote2UUID": cssNote2UUID,
547 "cssNote3UUID": cssNote3UUID,
548 "linuxBookUUID": linuxBookUUID,
549 "linuxNote1UUID": linuxNote1UUID,
550 "bashBookUUID": bashBookUUID,
551 "bashNote1UUID": bashNote1UUID,
552 "bashNote2UUID": bashNote2UUID,
553 "linuxBook2UUID": linuxBook2UUID,
554 "linux2Note1UUID": linux2Note1UUID,
555 }
556 }
557
558 assert := func(t *testing.T, env testEnv, user database.User, ids map[string]string) {
559 cliDB := env.DB

Callers

nothing calls this directly

Calls 10

NotEqualFunction · 0.92
EqualFunction · 0.92
apiCreateBookFunction · 0.85
apiCreateNoteFunction · 0.85
apiPatchNoteFunction · 0.85
apiDeleteNoteFunction · 0.85
apiDeleteBookFunction · 0.85
checkStateFunction · 0.85
testSyncCmdFunction · 0.85
QueryRowMethod · 0.65

Tested by

no test coverage detected