|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"testing"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestNewEntryNote(t *testing.T) {
|
|
|
|
var app = setup()
|
|
|
|
|
|
|
|
var entry = app.NewDiaryEntry("Met with Nagee @ 1PM")
|
|
|
|
var note = app.NewDiaryEntryNote(entry.Id, "A note")
|
|
|
|
|
|
|
|
assert_string(t, "A note", note.Body)
|
|
|
|
assert_exists(t, note.Id)
|
|
|
|
assert_exists(t, note.CreatedAt)
|
|
|
|
assert_exists(t, note.Version)
|
|
|
|
|
|
|
|
teardown(app)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestGetDiaryEntryNotes(t *testing.T) {
|
|
|
|
var app = setup()
|
|
|
|
|
|
|
|
var entry = app.NewDiaryEntry("Met with Nagee @ 1PM")
|
|
|
|
var note_1 = app.NewDiaryEntryNote(entry.Id, "A note")
|
|
|
|
var note_2 = app.NewDiaryEntryNote(entry.Id, "Another note")
|
|
|
|
|
|
|
|
// The first note should be the latest one created
|
|
|
|
var notes = app.GetDiaryEntryNotes(entry.Id)
|
|
|
|
|
|
|
|
assert_string(t, notes[0].Body, note_2.Body)
|
|
|
|
assert_int(t, notes[0].Id, note_2.Id)
|
|
|
|
assert_int(t, notes[0].CreatedAt, note_2.CreatedAt)
|
|
|
|
assert_int(t, notes[0].Version, note_2.Version)
|
|
|
|
|
|
|
|
assert_string(t, notes[1].Body, note_1.Body)
|
|
|
|
assert_int(t, notes[1].Id, note_1.Id)
|
|
|
|
assert_int(t, notes[1].CreatedAt, note_1.CreatedAt)
|
|
|
|
assert_int(t, notes[1].Version, note_1.Version)
|
|
|
|
|
|
|
|
teardown(app)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDeleteDiaryEntryNote(t *testing.T) {
|
|
|
|
var app = setup()
|
|
|
|
|
|
|
|
var entry = app.NewDiaryEntry("Met with Nagee @ 1PM")
|
|
|
|
var note = app.NewDiaryEntryNote(entry.Id, "A note")
|
|
|
|
|
|
|
|
is_deleted, _ := app.DeleteDiaryEntry(note.Id)
|
|
|
|
assert_bool(t, true, is_deleted)
|
|
|
|
|
|
|
|
teardown(app)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDeleteNotesForDiaryEntry(t *testing.T) {
|
|
|
|
var app = setup()
|
|
|
|
|
|
|
|
var entry = app.NewDiaryEntry("Met with Nagee @ 1PM")
|
|
|
|
app.NewDiaryEntryNote(entry.Id, "A note")
|
|
|
|
app.NewDiaryEntryNote(entry.Id, "Another note")
|
|
|
|
|
|
|
|
notes := app.GetDiaryEntryNotes(entry.Id)
|
|
|
|
assert_int(t, 2, int64(len(notes)))
|
|
|
|
|
|
|
|
is_deleted, _ := app.DeleteNotesForDiaryEntry(entry.Id)
|
|
|
|
assert_bool(t, true, is_deleted)
|
|
|
|
|
|
|
|
notes = app.GetDiaryEntryNotes(entry.Id)
|
|
|
|
assert_int(t, 0, int64(len(notes)))
|
|
|
|
|
|
|
|
teardown(app)
|
|
|
|
}
|
|
|
|
|
|
|
|
func TestDeleteDiaryEntryNoteNotFound(t *testing.T) {
|
|
|
|
var app = setup()
|
|
|
|
|
|
|
|
_, err := app.DeleteDiaryEntryNote(-1)
|
|
|
|
switch err_type := err.(type) {
|
|
|
|
case *NotFoundError:
|
|
|
|
// Do nothing
|
|
|
|
break
|
|
|
|
default:
|
|
|
|
t.Fatalf("Expected NotFoundError, got %s", err_type)
|
|
|
|
}
|
|
|
|
|
|
|
|
teardown(app)
|
|
|
|
}
|