@@ -16,6 +16,7 @@ def setUp(self):
16
16
address = 'Finland' ,
17
17
lat = 63.3 ,
18
18
lng = - 32.0 )
19
+ self .instance .category = ['Shop' , 'Grocery' ]
19
20
20
21
def test_default_index_name (self ):
21
22
index = AlgoliaIndex (Example , self .client )
@@ -36,6 +37,21 @@ class ExampleIndex(AlgoliaIndex):
36
37
except :
37
38
self .assertRegexpMatches (index .index_name , regex )
38
39
40
+ def test_custom_objectID (self ):
41
+ class ExampleIndex (AlgoliaIndex ):
42
+ custom_objectID = 'uid'
43
+
44
+ index = ExampleIndex (Example , self .client )
45
+ obj = index ._build_object (self .instance )
46
+ self .assertEqual (obj ['objectID' ], 4 )
47
+
48
+ def test_invalid_custom_objectID (self ):
49
+ class ExampleIndex (AlgoliaIndex ):
50
+ custom_objectID = 'uuid'
51
+
52
+ with self .assertRaises (AlgoliaIndexError ):
53
+ index = ExampleIndex (Example , self .client )
54
+
39
55
def test_geo_fields (self ):
40
56
class ExampleIndex (AlgoliaIndex ):
41
57
geo_field = 'location'
@@ -44,13 +60,27 @@ class ExampleIndex(AlgoliaIndex):
44
60
obj = index ._build_object (self .instance )
45
61
self .assertEqual (obj ['_geoloc' ], {'lat' : 63.3 , 'lng' : - 32.0 })
46
62
47
- def test_custom_objectID (self ):
63
+ def test_invalid_geo_fields (self ):
48
64
class ExampleIndex (AlgoliaIndex ):
49
- custom_objectID = 'uid'
65
+ geo_field = 'position'
66
+
67
+ with self .assertRaises (AlgoliaIndexError ):
68
+ index = ExampleIndex (Example , self .client )
69
+
70
+ def test_tags (self ):
71
+ class ExampleIndex (AlgoliaIndex ):
72
+ tags = 'category'
50
73
51
74
index = ExampleIndex (Example , self .client )
52
75
obj = index ._build_object (self .instance )
53
- self .assertEqual (obj ['objectID' ], 4 )
76
+ self .assertListEqual (obj ['_tags' ], self .instance .category )
77
+
78
+ def test_invalid_tags (self ):
79
+ class ExampleIndex (AlgoliaIndex ):
80
+ tags = 'categories'
81
+
82
+ with self .assertRaises (AlgoliaIndexError ):
83
+ index = ExampleIndex (Example , self .client )
54
84
55
85
def test_one_field (self ):
56
86
class ExampleIndex (AlgoliaIndex ):
@@ -64,6 +94,7 @@ class ExampleIndex(AlgoliaIndex):
64
94
self .assertNotIn ('lat' , obj )
65
95
self .assertNotIn ('lng' , obj )
66
96
self .assertNotIn ('location' , obj )
97
+ self .assertNotIn ('category' , obj )
67
98
self .assertEqual (len (obj ), 2 )
68
99
69
100
def test_multiple_fields (self ):
@@ -78,6 +109,7 @@ class ExampleIndex(AlgoliaIndex):
78
109
self .assertNotIn ('lat' , obj )
79
110
self .assertNotIn ('lng' , obj )
80
111
self .assertNotIn ('location' , obj )
112
+ self .assertNotIn ('category' , obj )
81
113
self .assertEqual (len (obj ), 3 )
82
114
83
115
def test_invalid_fields (self ):
0 commit comments