]> git.giacomolli.uk - onechat/blobdiff - routes_test.go
Return known failures without redundant checks
[onechat] / routes_test.go
index dda77ea4cdfe756940362ed8ae92282b0f39bcc3..6e11c7a9d43a3a6d9d6978e12843331bc3a623e1 100644 (file)
@@ -46,48 +46,49 @@ func TestRoutesRefuseUnknownSourcesAndNonchildren(t *testing.T) {
                cause  string
        }{
                {
                cause  string
        }{
                {
-                       name:   "unknown kind",
+                       name:   "refuses unknown kind",
                        source: "mail:inbox",
                        agent:  "Garden",
                        cause:  "unknown source kind",
                },
                {
                        source: "mail:inbox",
                        agent:  "Garden",
                        cause:  "unknown source kind",
                },
                {
-                       name:   "missing kind",
+                       name:   "refuses missing kind",
                        source: whatsappTestFamily.String(),
                        agent:  "Garden",
                        cause:  "unknown source kind",
                },
                {
                        source: whatsappTestFamily.String(),
                        agent:  "Garden",
                        cause:  "unknown source kind",
                },
                {
-                       name:   "empty chat",
+                       name:   "refuses empty chat",
                        source: "whatsapp:",
                        agent:  "Garden",
                        cause:  "invalid WhatsApp source",
                },
                {
                        source: "whatsapp:",
                        agent:  "Garden",
                        cause:  "invalid WhatsApp source",
                },
                {
-                       name:   "unknown chat kind",
+                       name:   "refuses unknown chat kind",
                        source: "whatsapp:example@unknown",
                        agent:  "Garden",
                        cause:  "invalid WhatsApp source",
                },
                {
                        source: "whatsapp:example@unknown",
                        agent:  "Garden",
                        cause:  "invalid WhatsApp source",
                },
                {
-                       name:   "root is not a child",
+                       name:   "refuses root is not a child",
                        source: "whatsapp:" + whatsappTestFamily.String(),
                        agent:  "OneChat",
                        cause:  "must be a child",
                },
                {
                        source: "whatsapp:" + whatsappTestFamily.String(),
                        agent:  "OneChat",
                        cause:  "must be a child",
                },
                {
-                       name:   "unknown child",
+                       name:   "refuses unknown child",
                        source: "whatsapp:" + whatsappTestFamily.String(),
                        agent:  "Other",
                        cause:  "must be a child",
                },
                {
                        source: "whatsapp:" + whatsappTestFamily.String(),
                        agent:  "Other",
                        cause:  "must be a child",
                },
                {
-                       name:   "empty child",
+                       name:   "refuses empty child",
                        source: "whatsapp:" + whatsappTestFamily.String(),
                        agent:  "",
                        cause:  "must be a child",
                },
        }
                        source: "whatsapp:" + whatsappTestFamily.String(),
                        agent:  "",
                        cause:  "must be a child",
                },
        }
+
        for _, tc := range testCases {
                t.Run(tc.name, func(t *testing.T) {
                        arguments := `{"source":"` + tc.source + `","agent":"` + tc.agent + `"}`
        for _, tc := range testCases {
                t.Run(tc.name, func(t *testing.T) {
                        arguments := `{"source":"` + tc.source + `","agent":"` + tc.agent + `"}`
@@ -122,6 +123,7 @@ func TestWhatsAppStatusListsRoutes(t *testing.T) {
        whatsapp.Command("status", func(text string) {
                answer = text
        })
        whatsapp.Command("status", func(text string) {
                answer = text
        })
+
        require.Contains(t, answer, "WhatsApp is not linked.")
        require.Contains(t, answer, "WhatsApp routes:\nwhatsapp:"+whatsappTestFamily.String()+" -> Garden")
 }
        require.Contains(t, answer, "WhatsApp is not linked.")
        require.Contains(t, answer, "WhatsApp routes:\nwhatsapp:"+whatsappTestFamily.String()+" -> Garden")
 }
@@ -132,18 +134,19 @@ func TestInvalidRouteFileStopsStartup(t *testing.T) {
                text string
        }{
                {
                text string
        }{
                {
-                       name: "invalid JSON",
+                       name: "stops startup for invalid JSON",
                        text: "{",
                },
                {
                        text: "{",
                },
                {
-                       name: "unknown source",
+                       name: "stops startup for unknown source",
                        text: `{"mail:inbox":"Garden"}`,
                },
                {
                        text: `{"mail:inbox":"Garden"}`,
                },
                {
-                       name: "empty destination",
+                       name: "stops startup for empty destination",
                        text: `{"whatsapp:example@lid":""}`,
                },
        }
                        text: `{"whatsapp:example@lid":""}`,
                },
        }
+
        for _, tc := range testCases {
                t.Run(tc.name, func(t *testing.T) {
                        path := filepath.Join(t.TempDir(), "routes.json")
        for _, tc := range testCases {
                t.Run(tc.name, func(t *testing.T) {
                        path := filepath.Join(t.TempDir(), "routes.json")