2222import org .springframework .test .context .ContextConfiguration ;
2323
2424import java .util .Arrays ;
25+ import java .util .Collection ;
2526import java .util .Optional ;
2627
2728import static org .junit .jupiter .api .Assertions .assertEquals ;
@@ -74,18 +75,27 @@ public void shouldSaveAndRetreive() {
7475
7576 @ Test
7677 public void shouldPersistOnlyIdOnOneToManyRelation () {
77- Car car = new Car ();
78- car .setColor (Color .BLUE );
79- car .setManufacturer ("BMW" );
80- carRepository .save (car );
78+ Car car1 = new Car ();
79+ car1 .setColor (Color .BLUE );
80+ car1 .setManufacturer ("BMW" );
81+ Car car2 = new Car ();
82+ car2 .setColor (Color .BLUE );
83+ car2 .setManufacturer ("BMW" );
84+ carRepository .save (car1 );
85+ carRepository .save (car2 );
8186 Person person = new Person ();
8287 person .setName ("Dave" );
8388 person .setEmail ("dave@mail.com" );
84- person .setCars (Arrays .asList (new Car [] { car }));
89+ person .setCars (Arrays .asList (new Car [] { car1 , car2 }));
8590 repository .save (person );
8691
8792 Document document = mongoOperations .getCollection ("people" ).find ().iterator ().next ();
8893 assertNull (document .get ("cars" ));
94+ Document obj = new Document ();
95+ obj .put ("_id" , car1 .getId ());
96+ obj .put (RelMongoConstants .RELMONGOTARGET_PROPERTY_NAME , "cars" );
97+ assertTrue (((Collection <?>)document .get ("carsrefs" )).size () == 2 );
98+ assertEquals (((Collection <?>)document .get ("carsrefs" )).iterator ().next (), obj );
8999 }
90100
91101 @ Test
@@ -104,7 +114,7 @@ public void shouldPersistOnlyReferencedPropertyOnOneToOneRelation() {
104114 System .out .println ("relational id" + passport .getId ());
105115 Document obj = new Document ();
106116 obj .put ("_id" , passport .getId ());
107- obj .put (RelMongoConstants .RELMONGOTARGET_PROPERTY_NAME , "passports " );
117+ obj .put (RelMongoConstants .RELMONGOTARGET_PROPERTY_NAME , "passport " );
108118 assertEquals (document .get ("passportref" ), obj );
109119 }
110120
0 commit comments