@@ -99,6 +99,37 @@ class Meta:
9999 ],
100100 )
101101
102+ def test_vectorsearch_invalid_similarities_function (self ):
103+ class Article (models .Model ):
104+ vector_data = ArrayField (models .DecimalField (), size = 10 )
105+
106+ class Meta :
107+ indexes = [
108+ VectorSearchIndex (
109+ fields = ["vector_data" , "vector_data" , "vector_data" ],
110+ similarities = ["sum" , "dotProduct" , "tangh" ],
111+ ),
112+ ]
113+
114+ errors = checks .run_checks (app_configs = self .apps .get_app_configs (), databases = {"default" })
115+ self .assertEqual (
116+ errors ,
117+ [
118+ checks .Error (
119+ "sum isn't a valid similarity function, "
120+ "options are cosine, dotProduct, euclidean" ,
121+ id = "django_mongodb_backend.indexes.VectorSearchIndex.E004" ,
122+ obj = Article ._meta .indexes [0 ],
123+ ),
124+ checks .Error (
125+ "tangh isn't a valid similarity function, "
126+ "options are cosine, dotProduct, euclidean" ,
127+ id = "django_mongodb_backend.indexes.VectorSearchIndex.E004" ,
128+ obj = Article ._meta .indexes [0 ],
129+ ),
130+ ],
131+ )
132+
102133 def test_vectorsearch (self ):
103134 class Article (models .Model ):
104135 vector_data = ArrayField (models .DecimalField (), size = 10 )
0 commit comments