@@ -41,6 +41,12 @@ class AlternateValidSearchIndex(SearchIndex):
41
41
title = CharField (faceted = True )
42
42
43
43
44
+ class MultiValueValidSearchIndex (SearchIndex ):
45
+ text = CharField (document = True )
46
+ author = MultiValueField (stored = False )
47
+ title = CharField (indexed = False )
48
+
49
+
44
50
class SearchSiteTestCase (TestCase ):
45
51
def setUp (self ):
46
52
super (SearchSiteTestCase , self ).setUp ()
@@ -124,6 +130,7 @@ def test_all_searchfields(self):
124
130
self .assertEqual (fields ['author' ].document , False )
125
131
self .assertEqual (fields ['author' ].use_template , False )
126
132
self .assertEqual (fields ['author' ].faceted , True )
133
+ self .assertEqual (fields ['author' ].stored , True )
127
134
self .assertEqual (fields ['author' ].index_fieldname , 'author' )
128
135
129
136
self .site .unregister (MockModel )
@@ -152,6 +159,29 @@ def test_all_searchfields(self):
152
159
self .assertEqual (fields ['name' ].faceted , False )
153
160
self .assertEqual (fields ['name' ].index_fieldname , 'name' )
154
161
162
+ self .site .unregister (AnotherMockModel )
163
+ self .site .register (AnotherMockModel , MultiValueValidSearchIndex )
164
+ fields = self .site .all_searchfields ()
165
+ self .assertEqual (len (fields ), 4 )
166
+ self .assertEqual (sorted (fields .keys ()), ['author' , 'name' , 'text' , 'title' ])
167
+ self .assert_ ('text' in fields )
168
+ self .assert_ (isinstance (fields ['text' ], CharField ))
169
+ self .assertEqual (fields ['text' ].document , True )
170
+ self .assertEqual (fields ['text' ].use_template , False )
171
+ self .assert_ ('title' in fields )
172
+ self .assert_ (isinstance (fields ['title' ], CharField ))
173
+ self .assertEqual (fields ['title' ].document , False )
174
+ self .assertEqual (fields ['title' ].use_template , False )
175
+ self .assertEqual (fields ['title' ].faceted , True )
176
+ self .assertEqual (fields ['title' ].indexed , True )
177
+ self .assert_ ('author' in fields )
178
+ self .assert_ (isinstance (fields ['author' ], MultiValueField ))
179
+ self .assertEqual (fields ['author' ].document , False )
180
+ self .assertEqual (fields ['author' ].use_template , False )
181
+ self .assertEqual (fields ['author' ].stored , False )
182
+ self .assertEqual (fields ['author' ].faceted , False )
183
+ self .assertEqual (fields ['author' ].index_fieldname , 'author' )
184
+
155
185
self .site .unregister (AnotherMockModel )
156
186
self .site .register (AnotherMockModel , InvalidSearchIndex )
157
187
self .assertRaises (SearchFieldError , self .site .all_searchfields )
0 commit comments