Files
mesh-catalog/modules/mesh-issues/cmd/mesh-issues/brief_test.go
T

51 lines
1.3 KiB
Go

package main
import "testing"
// A get with brief: true answers only its last note, saying how many were left out (issue 1071).
func TestGetBriefAnswersOnlyTheLastNote(t *testing.T) {
h := newHarness(t)
n := h.open(t, "the counter skips a number", "hq")
for _, text := range []string{"first", "second", "third"} {
if _, err := h.Note(n, text); err != nil {
t.Fatalf("note: %v", err)
}
}
got, err := h.call(t, "get", map[string]any{"number": float64(n), "brief": true})
if err != nil {
t.Fatalf("get brief: %v", err)
}
b, ok := got.(*Brief)
if !ok {
t.Fatalf("want *Brief, got %T", got)
}
if len(b.Notes) != 1 || b.Notes[0].Text != "third" {
t.Fatalf("want only the last note (third), got %+v", b.Notes)
}
if b.NotesLeftOut != 2 {
t.Fatalf("want notes-left-out 2, got %d", b.NotesLeftOut)
}
}
// A get without brief is unchanged (issue 1071).
func TestGetWithoutBriefIsUnchanged(t *testing.T) {
h := newHarness(t)
n := h.open(t, "the counter skips a number", "hq")
if _, err := h.Note(n, "first"); err != nil {
t.Fatalf("note: %v", err)
}
got, err := h.call(t, "get", map[string]any{"number": float64(n)})
if err != nil {
t.Fatalf("get: %v", err)
}
v, ok := got.(*View)
if !ok {
t.Fatalf("want *View, got %T", got)
}
if len(v.Notes) != 1 || v.Notes[0].Text != "first" {
t.Fatalf("want every note, got %+v", v.Notes)
}
}