@@ -600,6 +600,49 @@ describe('Parse.Object testing', () => {
600
600
} ) ;
601
601
} ) ;
602
602
603
+ it ( "addUnique with object" , function ( done ) {
604
+ var x1 = new Parse . Object ( 'X' ) ;
605
+ x1 . set ( 'stuff' , [ 1 , { 'hello' : 'world' } , { 'foo' : 'bar' } ] ) ;
606
+ x1 . save ( ) . then ( ( ) => {
607
+ var objectId = x1 . id ;
608
+ var x2 = new Parse . Object ( 'X' , { objectId : objectId } ) ;
609
+ x2 . addUnique ( 'stuff' , { 'hello' : 'world' } ) ;
610
+ x2 . addUnique ( 'stuff' , { 'bar' : 'baz' } ) ;
611
+ expect ( x2 . get ( 'stuff' ) ) . toEqual ( [ { 'hello' : 'world' } , { 'bar' : 'baz' } ] ) ;
612
+ return x2 . save ( ) ;
613
+ } ) . then ( ( ) => {
614
+ var query = new Parse . Query ( 'X' ) ;
615
+ return query . get ( x1 . id ) ;
616
+ } ) . then ( ( x3 ) => {
617
+ expect ( x3 . get ( 'stuff' ) ) . toEqual ( [ 1 , { 'hello' : 'world' } , { 'foo' : 'bar' } , { 'bar' : 'baz' } ] ) ;
618
+ done ( ) ;
619
+ } , ( error ) => {
620
+ fail ( error ) ;
621
+ done ( ) ;
622
+ } ) ;
623
+ } ) ;
624
+
625
+ it ( "removes with object" , function ( done ) {
626
+ var x1 = new Parse . Object ( 'X' ) ;
627
+ x1 . set ( 'stuff' , [ 1 , { 'hello' : 'world' } , { 'foo' : 'bar' } ] ) ;
628
+ x1 . save ( ) . then ( ( ) => {
629
+ var objectId = x1 . id ;
630
+ var x2 = new Parse . Object ( 'X' , { objectId : objectId } ) ;
631
+ x2 . remove ( 'stuff' , { 'hello' : 'world' } ) ;
632
+ expect ( x2 . get ( 'stuff' ) ) . toEqual ( [ ] ) ;
633
+ return x2 . save ( ) ;
634
+ } ) . then ( ( ) => {
635
+ var query = new Parse . Query ( 'X' ) ;
636
+ return query . get ( x1 . id ) ;
637
+ } ) . then ( ( x3 ) => {
638
+ expect ( x3 . get ( 'stuff' ) ) . toEqual ( [ 1 , { 'foo' : 'bar' } ] ) ;
639
+ done ( ) ;
640
+ } , ( error ) => {
641
+ fail ( error ) ;
642
+ done ( ) ;
643
+ } ) ;
644
+ } ) ;
645
+
603
646
it ( "dirty attributes" , function ( done ) {
604
647
var object = new Parse . Object ( "TestObject" ) ;
605
648
object . set ( "cat" , "good" ) ;
@@ -1794,14 +1837,14 @@ describe('Parse.Object testing', () => {
1794
1837
done ( ) ;
1795
1838
} ) ;
1796
1839
} ) ;
1797
-
1840
+
1798
1841
it ( 'should have undefined includes when object is missing' , ( done ) => {
1799
1842
let obj1 = new Parse . Object ( "AnObject" ) ;
1800
1843
let obj2 = new Parse . Object ( "AnObject" ) ;
1801
-
1844
+
1802
1845
Parse . Object . saveAll ( [ obj1 , obj2 ] ) . then ( ( ) => {
1803
1846
obj1 . set ( "obj" , obj2 ) ;
1804
- // Save the pointer, delete the pointee
1847
+ // Save the pointer, delete the pointee
1805
1848
return obj1 . save ( ) . then ( ( ) => { return obj2 . destroy ( ) } ) ;
1806
1849
} ) . then ( ( ) => {
1807
1850
let query = new Parse . Query ( "AnObject" ) ;
@@ -1823,15 +1866,15 @@ describe('Parse.Object testing', () => {
1823
1866
done ( ) ;
1824
1867
} )
1825
1868
} ) ;
1826
-
1869
+
1827
1870
it ( 'should have undefined includes when object is missing on deeper path' , ( done ) => {
1828
1871
let obj1 = new Parse . Object ( "AnObject" ) ;
1829
1872
let obj2 = new Parse . Object ( "AnObject" ) ;
1830
1873
let obj3 = new Parse . Object ( "AnObject" ) ;
1831
1874
Parse . Object . saveAll ( [ obj1 , obj2 , obj3 ] ) . then ( ( ) => {
1832
1875
obj1 . set ( "obj" , obj2 ) ;
1833
1876
obj2 . set ( "obj" , obj3 ) ;
1834
- // Save the pointer, delete the pointee
1877
+ // Save the pointer, delete the pointee
1835
1878
return Parse . Object . saveAll ( [ obj1 , obj2 ] ) . then ( ( ) => { return obj3 . destroy ( ) } ) ;
1836
1879
} ) . then ( ( ) => {
1837
1880
let query = new Parse . Query ( "AnObject" ) ;
0 commit comments