test: add test to check for non-existent default model ids

Andrey Nering created

Change summary

Taskfile.yaml                        |  5 +++++
internal/providers/providers_test.go | 23 +++++++++++++++++++++++
2 files changed, 28 insertions(+)

Detailed changes

Taskfile.yaml 🔗

@@ -16,6 +16,11 @@ tasks:
     cmds:
       - go fmt ./...
 
+  test:
+    desc: Run tests
+    cmds:
+      - go test {{.CLI_ARGS}} ./...
+
   modernize:
     desc: Modernize code
     cmds:

internal/providers/providers_test.go 🔗

@@ -0,0 +1,23 @@
+package providers
+
+import (
+	"slices"
+	"testing"
+)
+
+func TestValidDefaultModels(t *testing.T) {
+	for _, p := range GetAll() {
+		t.Run(p.Name, func(t *testing.T) {
+			var modelIds []string
+			for _, m := range p.Models {
+				modelIds = append(modelIds, m.ID)
+			}
+			if !slices.Contains(modelIds, p.DefaultLargeModelID) {
+				t.Errorf("Default large model %q not found in provider %q", p.DefaultLargeModelID, p.Name)
+			}
+			if !slices.Contains(modelIds, p.DefaultSmallModelID) {
+				t.Errorf("Default small model %q not found in provider %q", p.DefaultSmallModelID, p.Name)
+			}
+		})
+	}
+}