@@ -511,35 +511,39 @@ def test_json_length_type(self):
511
511
def test_json_insert (self ):
512
512
self .obj .attrs = JSONInsert ("attrs" , {"$.int" : 99 , "$.int2" : 102 })
513
513
self .obj .save ()
514
- self .obj .refresh_from_db ()
515
- assert self .obj .attrs ["int" ] == 88
516
- assert self .obj .attrs ["int2" ] == 102
514
+
515
+ obj = JSONModel .objects .get ()
516
+ assert obj .attrs ["int" ] == 88
517
+ assert obj .attrs ["int2" ] == 102
517
518
518
519
def test_json_insert_expression (self ):
519
520
self .obj .attrs = JSONInsert ("attrs" , {Value ("$.int" ): Value (99 )})
520
521
self .obj .save ()
521
- self .obj .refresh_from_db ()
522
- assert self .obj .attrs ["int" ] == 88
522
+
523
+ obj = JSONModel .objects .get ()
524
+ assert obj .attrs ["int" ] == 88
523
525
524
526
def test_json_insert_dict (self ):
525
527
self .obj .attrs = JSONInsert (
526
528
"attrs" , {"$.sub" : {"paper" : "drop" }, "$.sub2" : {"int" : 42 , "foo" : "bar" }}
527
529
)
528
530
self .obj .save ()
529
- self .obj .refresh_from_db ()
530
- assert self .obj .attrs ["sub" ] == {"document" : "store" }
531
- assert self .obj .attrs ["sub2" ]["int" ] == 42
532
- assert self .obj .attrs ["sub2" ]["foo" ] == "bar"
531
+
532
+ obj = JSONModel .objects .get ()
533
+ assert obj .attrs ["sub" ] == {"document" : "store" }
534
+ assert obj .attrs ["sub2" ]["int" ] == 42
535
+ assert obj .attrs ["sub2" ]["foo" ] == "bar"
533
536
534
537
def test_json_insert_array (self ):
535
538
self .obj .attrs = JSONInsert (
536
539
"attrs" , {"$.arr" : [1 , "two" , 3 ], "$.arr2" : ["one" , 2 ]}
537
540
)
538
541
self .obj .save ()
539
- self .obj .refresh_from_db ()
540
- assert self .obj .attrs ["arr" ] == ["dee" , "arr" , "arr" ]
541
- assert self .obj .attrs ["arr2" ][0 ] == "one"
542
- assert self .obj .attrs ["arr2" ][1 ] == 2
542
+
543
+ obj = JSONModel .objects .get ()
544
+ assert obj .attrs ["arr" ] == ["dee" , "arr" , "arr" ]
545
+ assert obj .attrs ["arr2" ][0 ] == "one"
546
+ assert obj .attrs ["arr2" ][1 ] == 2
543
547
544
548
def test_json_insert_empty_data (self ):
545
549
with pytest .raises (ValueError ) as excinfo :
@@ -549,27 +553,30 @@ def test_json_insert_empty_data(self):
549
553
def test_json_replace_pairs (self ):
550
554
self .obj .attrs = JSONReplace ("attrs" , {"$.int" : 101 , "$.int2" : 102 })
551
555
self .obj .save ()
552
- self .obj .refresh_from_db ()
553
- assert self .obj .attrs ["int" ] == 101
554
- assert "int2" not in self .obj .attrs
556
+
557
+ obj = JSONModel .objects .get ()
558
+ assert obj .attrs ["int" ] == 101
559
+ assert "int2" not in obj .attrs
555
560
556
561
def test_json_replace_dict (self ):
557
562
self .obj .attrs = JSONReplace (
558
563
"attrs" , {"$.sub" : {"paper" : "drop" }, "$.sub2" : {"int" : 42 , "foo" : "bar" }}
559
564
)
560
565
self .obj .save ()
561
- self .obj .refresh_from_db ()
562
- assert self .obj .attrs ["sub" ] == {"paper" : "drop" }
563
- assert "sub2" not in self .obj .attrs
566
+
567
+ obj = JSONModel .objects .get ()
568
+ assert obj .attrs ["sub" ] == {"paper" : "drop" }
569
+ assert "sub2" not in obj .attrs
564
570
565
571
def test_json_replace_array (self ):
566
572
self .obj .attrs = JSONReplace (
567
573
"attrs" , {"$.arr" : [1 , "two" , 3 ], "$.arr2" : ["one" , 2 ]}
568
574
)
569
575
self .obj .save ()
570
- self .obj .refresh_from_db ()
571
- assert self .obj .attrs ["arr" ] == [1 , "two" , 3 ]
572
- assert "arr2" not in self .obj .attrs
576
+
577
+ obj = JSONModel .objects .get ()
578
+ assert obj .attrs ["arr" ] == [1 , "two" , 3 ]
579
+ assert "arr2" not in obj .attrs
573
580
574
581
def test_json_replace_empty_data (self ):
575
582
with pytest .raises (ValueError ) as excinfo :
@@ -580,29 +587,32 @@ def test_json_set_pairs(self):
580
587
with print_all_queries ():
581
588
self .obj .attrs = JSONSet ("attrs" , {"$.int" : 101 , "$.int2" : 102 })
582
589
self .obj .save ()
583
- self .obj .refresh_from_db ()
584
- assert self .obj .attrs ["int" ] == 101
585
- assert self .obj .attrs ["int2" ] == 102
590
+
591
+ obj = JSONModel .objects .get ()
592
+ assert obj .attrs ["int" ] == 101
593
+ assert obj .attrs ["int2" ] == 102
586
594
587
595
def test_json_set_dict (self ):
588
596
self .obj .attrs = JSONSet (
589
597
"attrs" , {"$.sub" : {"paper" : "drop" }, "$.sub2" : {"int" : 42 , "foo" : "bar" }}
590
598
)
591
599
self .obj .save ()
592
- self .obj .refresh_from_db ()
593
- assert self .obj .attrs ["sub" ] == {"paper" : "drop" }
594
- assert self .obj .attrs ["sub2" ]["int" ] == 42
595
- assert self .obj .attrs ["sub2" ]["foo" ] == "bar"
600
+
601
+ obj = JSONModel .objects .get ()
602
+ assert obj .attrs ["sub" ] == {"paper" : "drop" }
603
+ assert obj .attrs ["sub2" ]["int" ] == 42
604
+ assert obj .attrs ["sub2" ]["foo" ] == "bar"
596
605
597
606
def test_json_set_array (self ):
598
607
self .obj .attrs = JSONSet (
599
608
"attrs" , {"$.arr" : [1 , "two" , 3 ], "$.arr2" : ["one" , 2 ]}
600
609
)
601
610
self .obj .save ()
602
- self .obj .refresh_from_db ()
603
- assert self .obj .attrs ["arr" ] == [1 , "two" , 3 ]
604
- assert self .obj .attrs ["arr2" ][0 ] == "one"
605
- assert self .obj .attrs ["arr2" ][1 ] == 2
611
+
612
+ obj = JSONModel .objects .get ()
613
+ assert obj .attrs ["arr" ] == [1 , "two" , 3 ]
614
+ assert obj .attrs ["arr2" ][0 ] == "one"
615
+ assert obj .attrs ["arr2" ][1 ] == 2
606
616
607
617
def test_json_set_complex_data (self ):
608
618
data = {
@@ -618,8 +628,9 @@ def test_json_set_complex_data(self):
618
628
}
619
629
self .obj .attrs = JSONSet ("attrs" , {"$.data" : data })
620
630
self .obj .save ()
621
- self .obj .refresh_from_db ()
622
- assert self .obj .attrs ["data" ] == data
631
+
632
+ obj = JSONModel .objects .get ()
633
+ assert obj .attrs ["data" ] == data
623
634
624
635
def test_json_set_empty_data (self ):
625
636
with pytest .raises (ValueError ) as excinfo :
@@ -631,9 +642,10 @@ def test_json_array_append(self):
631
642
"attrs" , {"$.arr" : "max" , "$.arr[0]" : 1.1 , "$.sub.document" : 3 }
632
643
)
633
644
self .obj .save ()
634
- self .obj .refresh_from_db ()
635
- assert self .obj .attrs ["arr" ] == [["dee" , 1.1 ], "arr" , "arr" , "max" ]
636
- assert self .obj .attrs ["sub" ]["document" ] == ["store" , 3 ]
645
+
646
+ obj = JSONModel .objects .get ()
647
+ assert obj .attrs ["arr" ] == [["dee" , 1.1 ], "arr" , "arr" , "max" ]
648
+ assert obj .attrs ["sub" ]["document" ] == ["store" , 3 ]
637
649
638
650
639
651
class RegexpFunctionTests (TestCase ):
0 commit comments