@@ -506,4 +506,53 @@ public function testOperators()
506
506
$ this ->assertEquals (2 , count ($ results ));
507
507
}
508
508
509
+ public function testIncrement ()
510
+ {
511
+ DB ::collection ('users ' )->insert (array (
512
+ array ('name ' => 'John Doe ' , 'age ' => 30 , 'note ' => 'adult ' ),
513
+ array ('name ' => 'Jane Doe ' , 'age ' => 10 , 'note ' => 'minor ' ),
514
+ array ('name ' => 'Robert Roe ' , 'age ' => null ),
515
+ array ('name ' => 'Mark Moe ' ),
516
+ ));
517
+
518
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
519
+ $ this ->assertEquals (30 , $ user ['age ' ]);
520
+
521
+ DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->increment ('age ' );
522
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
523
+ $ this ->assertEquals (31 , $ user ['age ' ]);
524
+
525
+ DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->decrement ('age ' );
526
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
527
+ $ this ->assertEquals (30 , $ user ['age ' ]);
528
+
529
+ DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->increment ('age ' , 5 );
530
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
531
+ $ this ->assertEquals (35 , $ user ['age ' ]);
532
+
533
+ DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->decrement ('age ' , 5 );
534
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
535
+ $ this ->assertEquals (30 , $ user ['age ' ]);
536
+
537
+ DB ::collection ('users ' )->where ('name ' , 'Jane Doe ' )->increment ('age ' , 10 , array ('note ' => 'adult ' ));
538
+ $ user = DB ::collection ('users ' )->where ('name ' , 'Jane Doe ' )->first ();
539
+ $ this ->assertEquals (20 , $ user ['age ' ]);
540
+ $ this ->assertEquals ('adult ' , $ user ['note ' ]);
541
+
542
+ DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->decrement ('age ' , 20 , array ('note ' => 'minor ' ));
543
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
544
+ $ this ->assertEquals (10 , $ user ['age ' ]);
545
+ $ this ->assertEquals ('minor ' , $ user ['note ' ]);
546
+
547
+ DB ::collection ('users ' )->increment ('age ' );
548
+ $ user = DB ::collection ('users ' )->where ('name ' , 'John Doe ' )->first ();
549
+ $ this ->assertEquals (11 , $ user ['age ' ]);
550
+ $ user = DB ::collection ('users ' )->where ('name ' , 'Jane Doe ' )->first ();
551
+ $ this ->assertEquals (21 , $ user ['age ' ]);
552
+ $ user = DB ::collection ('users ' )->where ('name ' , 'Robert Roe ' )->first ();
553
+ $ this ->assertEquals (null , $ user ['age ' ]);
554
+ $ user = DB ::collection ('users ' )->where ('name ' , 'Mark Moe ' )->first ();
555
+ $ this ->assertFalse (isset ($ user ['age ' ]));
556
+ }
557
+
509
558
}
0 commit comments