@@ -167,3 +167,32 @@ class ExampleIndex(AlgoliaIndex):
167
167
168
168
with self .assertRaises (AlgoliaIndexError ):
169
169
index = ExampleIndex (Example , self .client )
170
+
171
+ def test_should_index_method (self ):
172
+ class ExampleIndex (AlgoliaIndex ):
173
+ fields = 'name'
174
+ should_index = 'has_name'
175
+ index = ExampleIndex (Example , self .client )
176
+ obj = index ._build_object (self .instance )
177
+ self .assertTrue (index ._should_index (self .instance ),
178
+ "We should index an instance when should_index(instance) returns True" )
179
+
180
+ instance_should_not = Example (name = None )
181
+ obj = index ._build_object (instance_should_not )
182
+ self .assertFalse (index ._should_index (instance_should_not ),
183
+ "We should not index an instance when should_index(instance) returns False" )
184
+
185
+ def test_should_index_attr (self ):
186
+ class ExampleIndex (AlgoliaIndex ):
187
+ fields = 'name'
188
+ should_index = 'index_me'
189
+ index = ExampleIndex (Example , self .client )
190
+ obj = index ._build_object (self .instance )
191
+ self .assertTrue (index ._should_index (self .instance ),
192
+ "We should index an instance when its should_index attr is True" )
193
+
194
+ instance_should_not = Example ()
195
+ instance_should_not .index_me = False
196
+ obj = index ._build_object (instance_should_not )
197
+ self .assertFalse (index ._should_index (instance_should_not ),
198
+ "We should not index an instance when its should_index attr is False" )
0 commit comments