@@ -207,13 +207,21 @@ TEST(FlagUpdaterEventTests, SecondInitWithUpdateProducesEvents) {
207
207
208
208
std::atomic_bool got_event (false );
209
209
notifier->OnFlagChange (
210
- " flagA" , [&got_event](std::shared_ptr<FlagValueChangeEvent> event) {
210
+ " flagA" , [&got_event, &manager ](std::shared_ptr<FlagValueChangeEvent> event) {
211
211
got_event.store (true );
212
212
213
213
EXPECT_EQ (" test" , event->OldValue ().AsString ());
214
214
EXPECT_EQ (" potato" , event->NewValue ().AsString ());
215
215
EXPECT_EQ (" flagA" , event->FlagName ());
216
216
EXPECT_FALSE (event->Deleted ());
217
+
218
+ // The value in the store should be consistent with the new value.
219
+ EXPECT_EQ (event->NewValue ().AsString (), manager.Get (" flagA" )
220
+ .get ()
221
+ ->item .value ()
222
+ .Detail ()
223
+ .Value ()
224
+ .AsString ());
217
225
});
218
226
219
227
updater.Init (
@@ -283,13 +291,21 @@ TEST(FlagUpdaterDataTests, PatchWithUpdateProducesEvent) {
283
291
284
292
std::atomic_bool got_event (false );
285
293
notifier->OnFlagChange (
286
- " flagA" , [&got_event](std::shared_ptr<FlagValueChangeEvent> event) {
294
+ " flagA" ,
295
+ [&got_event, &manager](std::shared_ptr<FlagValueChangeEvent> event) {
287
296
got_event.store (true );
288
297
289
298
EXPECT_EQ (" test" , event->OldValue ().AsString ());
290
299
EXPECT_EQ (" second" , event->NewValue ().AsString ());
291
300
EXPECT_EQ (" flagA" , event->FlagName ());
292
301
EXPECT_FALSE (event->Deleted ());
302
+ // The value in the store should be consistent with the new value.
303
+ EXPECT_EQ (event->NewValue ().AsString (), manager.Get (" flagA" )
304
+ .get ()
305
+ ->item .value ()
306
+ .Detail ()
307
+ .Value ()
308
+ .AsString ());
293
309
});
294
310
295
311
updater.Init (
@@ -317,13 +333,22 @@ TEST(FlagUpdaterEventTests, PatchWithNewFlagProducesEvent) {
317
333
318
334
std::atomic_bool got_event (false );
319
335
notifier->OnFlagChange (
320
- " flagB" , [&got_event](std::shared_ptr<FlagValueChangeEvent> event) {
336
+ " flagB" ,
337
+ [&got_event, &manager](std::shared_ptr<FlagValueChangeEvent> event) {
321
338
got_event.store (true );
322
339
323
340
EXPECT_TRUE (event->OldValue ().IsNull ());
324
341
EXPECT_EQ (" second" , event->NewValue ().AsString ());
325
342
EXPECT_EQ (" flagB" , event->FlagName ());
326
343
EXPECT_FALSE (event->Deleted ());
344
+
345
+ // The value in the store should be consistent with the new value.
346
+ EXPECT_EQ (event->NewValue ().AsString (), manager.Get (" flagB" )
347
+ .get ()
348
+ ->item .value ()
349
+ .Detail ()
350
+ .Value ()
351
+ .AsString ());
327
352
});
328
353
329
354
updater.Init (
0 commit comments