package console import ( "testing" ) func TestReleaseSummary(t *testing.T) { chans := []ChannelView{ {Name: "stable", Version: "d388035", Actor: "paul@keymail.dev"}, {Name: "beta", Version: "e91ac22"}, {Name: "canary/rc-1", Version: "aaa1111"}, } routes := []RouteView{{Host: "edge.example", Account: "bab", Channel: "edge", Version: "route-v"}} s := assembleReleaseSummary(chans, routes, "bab") if !s.Deployment.HasReportedVersion() || s.Deployment.UniformVersion() != "route-v" { t.Errorf("live = %+v", s) } if s.NextVersion != "e91ac22" { t.Errorf("next = %+v", s) } same := assembleReleaseSummary([]ChannelView{ {Name: "stable", Version: "v1"}, {Name: "beta", Version: "v1"}, }, []RouteView{{Host: "x", Account: "bab", Version: "v1"}}, "bab") if same.NextVersion != "" { t.Errorf("same version on beta must not be Next, got %q", same.NextVersion) } bad := assembleReleaseSummary([]ChannelView{{Name: "stable", Err: "boom"}, {Name: "beta", Version: "v2"}}, routes, "bab") if !bad.Deployment.HasReportedVersion() || bad.Deployment.UniformVersion() != "route-v" || bad.NextVersion != "" { t.Errorf("unreadable target changed observed deployment = %+v", bad) } }