@@ -171,23 +171,23 @@ - (void)testEventsStorage {
171
171
// ---- test getOldestEvent ----
172
172
NSDictionary *result = [self .dataStore getOldestEvent: OPTLYDataStoreEventTypeImpression error: &error];
173
173
XCTAssertNotNil (result, @" Data insertion failed or invalid number of results retrieved from getOldestEvent." );
174
- XCTAssert ([result isEqualToDictionary: testEventData1], @" Invalid result data retrieved for getOldestEvent." );
174
+ XCTAssert ([result[ @" json " ] isEqualToDictionary: testEventData1], @" Invalid result data retrieved for getOldestEvent." );
175
175
176
176
// ---- test getFirstNEvents ----
177
177
NSInteger n = 3 ;
178
178
results = [self .dataStore getFirstNEvents: n eventType: OPTLYDataStoreEventTypeImpression error: &error];
179
179
XCTAssert ([results count ] == n, @" Data insertion failed or invalid number of results retrieved from getFirstNEvents." );
180
- XCTAssert ([results[0 ] isEqualToDictionary: testEventData1], @" Invalid result data 1 retrieved for getFirstNEvents." );
181
- XCTAssert ([results[1 ] isEqualToDictionary: testEventData2], @" Invalid result data 2 retrieved for getFirstNEvents." );
182
- XCTAssert ([results[2 ] isEqualToDictionary: testEventData3], @" Invalid result data 3 retrieved for getFirstNEvents." );
180
+ XCTAssert ([results[0 ][ @" json " ] isEqualToDictionary: testEventData1], @" Invalid result data 1 retrieved for getFirstNEvents." );
181
+ XCTAssert ([results[1 ][ @" json " ] isEqualToDictionary: testEventData2], @" Invalid result data 2 retrieved for getFirstNEvents." );
182
+ XCTAssert ([results[2 ][ @" json " ] isEqualToDictionary: testEventData3], @" Invalid result data 3 retrieved for getFirstNEvents." );
183
183
184
184
// ---- test getAllEntries ----
185
185
results = [self .dataStore getAllEvents: OPTLYDataStoreEventTypeImpression error: &error];
186
186
XCTAssert ([results count ] == totalEntity, @" Data insertion failed or invalid number of results retrieved from getAllEvents" );
187
- XCTAssert ([results[0 ] isEqualToDictionary: testEventData1], @" Invalid result data 1 retrieved for getAllEvents." );
188
- XCTAssert ([results[1 ] isEqualToDictionary: testEventData2], @" Invalid result data 2 retrieved for getAllEvents." );
189
- XCTAssert ([results[2 ] isEqualToDictionary: testEventData3], @" Invalid result data 3 retrieved for getAllEvents." );
190
- XCTAssert ([results[3 ] isEqualToDictionary: testEventData4], @" Invalid result data 4 retrieved for getAllEvents." );
187
+ XCTAssert ([results[0 ][ @" json " ] isEqualToDictionary: testEventData1], @" Invalid result data 1 retrieved for getAllEvents." );
188
+ XCTAssert ([results[1 ][ @" json " ] isEqualToDictionary: testEventData2], @" Invalid result data 2 retrieved for getAllEvents." );
189
+ XCTAssert ([results[2 ][ @" json " ] isEqualToDictionary: testEventData3], @" Invalid result data 3 retrieved for getAllEvents." );
190
+ XCTAssert ([results[3 ][ @" json " ] isEqualToDictionary: testEventData4], @" Invalid result data 4 retrieved for getAllEvents." );
191
191
192
192
// ---- test numberOfEvents ----
193
193
NSInteger numberOfEvents = [self .dataStore numberOfEvents: OPTLYDataStoreEventTypeImpression error: &error];
@@ -198,16 +198,16 @@ - (void)testEventsStorage {
198
198
results = [self .dataStore getAllEvents: OPTLYDataStoreEventTypeImpression error: &error];
199
199
numberOfEvents = [self .dataStore numberOfEvents: OPTLYDataStoreEventTypeImpression error: &error];
200
200
XCTAssert (numberOfEvents == totalEntity-1 , @" Invalid event count after removeOldestEvent was called." );
201
- XCTAssert ([results[0 ] isEqualToDictionary: testEventData2], @" Invalid result data 1 retrieved after removeOldestEvent was called." );
202
- XCTAssert ([results[1 ] isEqualToDictionary: testEventData3], @" Invalid result data 2 retrieved after removeOldestEvent was called." );
203
- XCTAssert ([results[2 ] isEqualToDictionary: testEventData4], @" Invalid result data 3 retrieved after removeOldestEvent was called." );
201
+ XCTAssert ([results[0 ][ @" json " ] isEqualToDictionary: testEventData2], @" Invalid result data 1 retrieved after removeOldestEvent was called." );
202
+ XCTAssert ([results[1 ][ @" json " ] isEqualToDictionary: testEventData3], @" Invalid result data 2 retrieved after removeOldestEvent was called." );
203
+ XCTAssert ([results[2 ][ @" json " ] isEqualToDictionary: testEventData4], @" Invalid result data 3 retrieved after removeOldestEvent was called." );
204
204
205
205
// ---- test removeFirstNEvents ----
206
206
NSInteger nEventsToDelete = 2 ;
207
207
[self .dataStore removeFirstNEvents: nEventsToDelete eventType: OPTLYDataStoreEventTypeImpression error: &error];
208
208
results = [self .dataStore getAllEvents: OPTLYDataStoreEventTypeImpression error: &error];
209
209
XCTAssert ([results count ] == totalEntity-1 -nEventsToDelete, @" Invalid event count when removeFirstNEvents was called." );
210
- XCTAssert ([results[0 ] isEqualToDictionary: testEventData4], @" Invalid result data 1 retrieved after removeFirstNEvents was called." );
210
+ XCTAssert ([results[0 ][ @" json " ] isEqualToDictionary: testEventData4], @" Invalid result data 1 retrieved after removeFirstNEvents was called." );
211
211
212
212
// ---- test removeAllEvents of an event type ----
213
213
[self .dataStore removeAllEvents: OPTLYDataStoreEventTypeImpression error: &error];
@@ -216,7 +216,8 @@ - (void)testEventsStorage {
216
216
217
217
// ---- test removeEvent ----
218
218
[self .dataStore saveEvent: testEventData1 eventType: OPTLYDataStoreEventTypeImpression error: &error];
219
- [self .dataStore removeEvent: testEventData1 eventType: OPTLYDataStoreEventTypeImpression error: &error];
219
+ NSDictionary *event = [self .dataStore getOldestEvent: OPTLYDataStoreEventTypeImpression error: &error];
220
+ [self .dataStore removeEvent: event eventType: OPTLYDataStoreEventTypeImpression error: &error];
220
221
results = [self .dataStore getAllEvents: OPTLYDataStoreEventTypeImpression error: &error];
221
222
XCTAssert ([results count ] == 0 , @" Invalid impression event count when removeEvent was called." );
222
223
@@ -230,6 +231,51 @@ - (void)testEventsStorage {
230
231
XCTAssert ([results count ] == 0 , @" Invalid conversion event count when removeSavedEvents was called." );
231
232
}
232
233
234
+ - (void )testSingleQuoteStringSaveAndRemove {
235
+ NSDictionary *testEventData1 =
236
+ @{
237
+ @" userFeatures" : @[@{
238
+ @" value" : @" ali'`s" ,
239
+ @" shouldIndex" : @YES ,
240
+ @" name" : @" nameOfPerson" ,
241
+ @" type" : @" custom"
242
+ }],
243
+ @" timestamp" : @1478510071576 ,
244
+ @" clientVersion" : @" 0.2.0-debug" ,
245
+ @" eventEntityId" : @" 7723870635" ,
246
+ @" revision" : @" 7" ,
247
+ @" isGlobalHoldback" : @NO ,
248
+ @" accountId" : @" 4902200114" ,
249
+ @" layerStates" : @[],
250
+ @" projectId" : @" 7738070017" ,
251
+ @" eventMetrics" : @[@{
252
+ @" name" : @" revenue" ,
253
+ @" value" : @88
254
+ }],
255
+ @" visitorId" : @" 1" ,
256
+ @" eventName" : @" people" ,
257
+ @" clientEngine" : kClientEngine ,
258
+ @" eventFeatures" : @[]
259
+ };
260
+
261
+ NSError *error = nil ;
262
+
263
+ XCTAssertTrue ([self .dataStore saveEvent: testEventData1
264
+ eventType: OPTLYDataStoreEventTypeConversion
265
+ error: &error]);
266
+ XCTAssertNil (error);
267
+ NSArray *events = [self .dataStore getAllEvents: OPTLYDataStoreEventTypeConversion error: &error];
268
+
269
+ XCTAssertNil (error);
270
+
271
+ NSDictionary *event = [events lastObject ][@" json" ];
272
+ XCTAssertTrue ([event isEqual: testEventData1]);
273
+ XCTAssertTrue ([self .dataStore removeEvent: [events lastObject ]
274
+ eventType: OPTLYDataStoreEventTypeConversion
275
+ error: &error]);
276
+ XCTAssertNil (error);
277
+ }
278
+
233
279
# pragma mark - File Manager Tests
234
280
235
281
- (void )testSaveFile {
0 commit comments