MCPcopy
hub / github.com/dnote/dnote / TestEditNote

Function TestEditNote

pkg/cli/main_test.go:183–287  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

181}
182
183func TestEditNote(t *testing.T) {
184 t.Run("content flag", func(t *testing.T) {
185 _, opts := setupTestEnv(t)
186
187 // Setup
188 db, dbPath := database.InitTestFileDB(t)
189 testutils.Setup4(t, db)
190
191 // Execute
192 testutils.RunDnoteCmd(t, opts, binaryName, "--dbPath", dbPath, "edit", "2", "-c", "foo bar")
193
194 // Test
195 var noteCount, bookCount int
196 database.MustScan(t, "counting books", db.QueryRow("SELECT count(*) FROM books"), &bookCount)
197 database.MustScan(t, "counting notes", db.QueryRow("SELECT count(*) FROM notes"), &noteCount)
198
199 assert.Equalf(t, bookCount, 1, "book count mismatch")
200 assert.Equalf(t, noteCount, 2, "note count mismatch")
201
202 var n1, n2 database.Note
203 database.MustScan(t, "getting n1",
204 db.QueryRow("SELECT uuid, body, added_on, dirty FROM notes where book_uuid = ? AND uuid = ?", "js-book-uuid", "43827b9a-c2b0-4c06-a290-97991c896653"), &n1.UUID, &n1.Body, &n1.AddedOn, &n1.Dirty)
205 database.MustScan(t, "getting n2",
206 db.QueryRow("SELECT uuid, body, added_on, dirty FROM notes where book_uuid = ? AND uuid = ?", "js-book-uuid", "f0d0fbb7-31ff-45ae-9f0f-4e429c0c797f"), &n2.UUID, &n2.Body, &n2.AddedOn, &n2.Dirty)
207
208 assert.Equal(t, n1.UUID, "43827b9a-c2b0-4c06-a290-97991c896653", "n1 should have UUID")
209 assert.Equal(t, n1.Body, "Booleans have toString()", "n1 body mismatch")
210 assert.Equal(t, n1.Dirty, false, "n1 dirty mismatch")
211
212 assert.Equal(t, n2.UUID, "f0d0fbb7-31ff-45ae-9f0f-4e429c0c797f", "Note should have UUID")
213 assert.Equal(t, n2.Body, "foo bar", "Note body mismatch")
214 assert.Equal(t, n2.Dirty, true, "n2 dirty mismatch")
215 assert.NotEqual(t, n2.EditedOn, 0, "Note edited_on mismatch")
216 })
217
218 t.Run("book flag", func(t *testing.T) {
219 _, opts := setupTestEnv(t)
220
221 // Setup
222 db, dbPath := database.InitTestFileDB(t)
223 testutils.Setup5(t, db)
224
225 // Execute
226 testutils.RunDnoteCmd(t, opts, binaryName, "--dbPath", dbPath, "edit", "2", "-b", "linux")
227
228 // Test
229 var noteCount, bookCount int
230 database.MustScan(t, "counting books", db.QueryRow("SELECT count(*) FROM books"), &bookCount)
231 database.MustScan(t, "counting notes", db.QueryRow("SELECT count(*) FROM notes"), &noteCount)
232
233 assert.Equalf(t, bookCount, 2, "book count mismatch")
234 assert.Equalf(t, noteCount, 2, "note count mismatch")
235
236 var n1, n2 database.Note
237 database.MustScan(t, "getting n1",
238 db.QueryRow("SELECT uuid, book_uuid, body, added_on, dirty FROM notes where uuid = ?", "f0d0fbb7-31ff-45ae-9f0f-4e429c0c797f"), &n1.UUID, &n1.BookUUID, &n1.Body, &n1.AddedOn, &n1.Dirty)
239 database.MustScan(t, "getting n2",
240 db.QueryRow("SELECT uuid, book_uuid, body, added_on, dirty FROM notes where uuid = ?", "43827b9a-c2b0-4c06-a290-97991c896653"), &n2.UUID, &n2.BookUUID, &n2.Body, &n2.AddedOn, &n2.Dirty)

Callers

nothing calls this directly

Calls 10

InitTestFileDBFunction · 0.92
Setup4Function · 0.92
RunDnoteCmdFunction · 0.92
MustScanFunction · 0.92
EqualfFunction · 0.92
EqualFunction · 0.92
NotEqualFunction · 0.92
Setup5Function · 0.92
setupTestEnvFunction · 0.70
QueryRowMethod · 0.65

Tested by

no test coverage detected