@@ -4729,36 +4729,40 @@ public function testWritePermissionsUpdateFailure(Document $document): Document
47294729 */
47304730 public function testUniqueIndexDuplicate (): void
47314731 {
4732- $ this ->expectException (DuplicateException::class);
4733-
47344732 /** @var Database $database */
47354733 $ database = static ::getDatabase ();
47364734
47374735 $ this ->assertEquals (true , $ database ->createIndex ('movies ' , 'uniqueIndex ' , Database::INDEX_UNIQUE , ['name ' ], [128 ], [Database::ORDER_ASC ]));
47384736
4739- $ database ->createDocument ('movies ' , new Document ([
4740- '$permissions ' => [
4741- Permission::read (Role::any ()),
4742- Permission::read (Role::user ('1 ' )),
4743- Permission::read (Role::user ('2 ' )),
4744- Permission::create (Role::any ()),
4745- Permission::create (Role::user ('1x ' )),
4746- Permission::create (Role::user ('2x ' )),
4747- Permission::update (Role::any ()),
4748- Permission::update (Role::user ('1x ' )),
4749- Permission::update (Role::user ('2x ' )),
4750- Permission::delete (Role::any ()),
4751- Permission::delete (Role::user ('1x ' )),
4752- Permission::delete (Role::user ('2x ' )),
4753- ],
4754- 'name ' => 'Frozen ' ,
4755- 'director ' => 'Chris Buck & Jennifer Lee ' ,
4756- 'year ' => 2013 ,
4757- 'price ' => 39.50 ,
4758- 'active ' => true ,
4759- 'genres ' => ['animation ' , 'kids ' ],
4760- 'with-dash ' => 'Works4 '
4761- ]));
4737+ try {
4738+ $ database ->createDocument ('movies ' , new Document ([
4739+ '$permissions ' => [
4740+ Permission::read (Role::any ()),
4741+ Permission::read (Role::user ('1 ' )),
4742+ Permission::read (Role::user ('2 ' )),
4743+ Permission::create (Role::any ()),
4744+ Permission::create (Role::user ('1x ' )),
4745+ Permission::create (Role::user ('2x ' )),
4746+ Permission::update (Role::any ()),
4747+ Permission::update (Role::user ('1x ' )),
4748+ Permission::update (Role::user ('2x ' )),
4749+ Permission::delete (Role::any ()),
4750+ Permission::delete (Role::user ('1x ' )),
4751+ Permission::delete (Role::user ('2x ' )),
4752+ ],
4753+ 'name ' => 'Frozen ' ,
4754+ 'director ' => 'Chris Buck & Jennifer Lee ' ,
4755+ 'year ' => 2013 ,
4756+ 'price ' => 39.50 ,
4757+ 'active ' => true ,
4758+ 'genres ' => ['animation ' , 'kids ' ],
4759+ 'with-dash ' => 'Works4 '
4760+ ]));
4761+
4762+ $ this ->fail ('Failed to throw exception ' );
4763+ } catch (Throwable $ e ) {
4764+ $ this ->assertInstanceOf (DuplicateException::class, $ e );
4765+ }
47624766 }
47634767 /**
47644768 * @depends testUniqueIndexDuplicate
@@ -4794,9 +4798,13 @@ public function testUniqueIndexDuplicateUpdate(): void
47944798 'with-dash ' => 'Works4 '
47954799 ]));
47964800
4797- $ this ->expectException (DuplicateException::class);
4801+ try {
4802+ $ database ->updateDocument ('movies ' , $ document ->getId (), $ document ->setAttribute ('name ' , 'Frozen ' ));
47984803
4799- $ database ->updateDocument ('movies ' , $ document ->getId (), $ document ->setAttribute ('name ' , 'Frozen ' ));
4804+ $ this ->fail ('Failed to throw exception ' );
4805+ } catch (Throwable $ e ) {
4806+ $ this ->assertInstanceOf (DuplicateException::class, $ e );
4807+ }
48004808 }
48014809
48024810 public function propagateBulkDocuments (string $ collection , int $ amount = 10 , bool $ documentSecurity = false ): void
@@ -5298,9 +5306,17 @@ public function testExceptionDuplicate(Document $document): void
52985306 $ database = static ::getDatabase ();
52995307
53005308 $ document ->setAttribute ('$id ' , 'duplicated ' );
5309+ $ document ->removeAttribute ('$sequence ' );
5310+
53015311 $ database ->createDocument ($ document ->getCollection (), $ document );
5302- $ this ->expectException (DuplicateException::class);
5303- $ database ->createDocument ($ document ->getCollection (), $ document );
5312+ $ document ->removeAttribute ('$sequence ' );
5313+
5314+ try {
5315+ $ database ->createDocument ($ document ->getCollection (), $ document );
5316+ $ this ->fail ('Failed to throw exception ' );
5317+ } catch (Throwable $ e ) {
5318+ $ this ->assertInstanceOf (DuplicateException::class, $ e );
5319+ }
53045320 }
53055321
53065322 /**
@@ -5312,13 +5328,18 @@ public function testExceptionCaseInsensitiveDuplicate(Document $document): Docum
53125328 $ database = static ::getDatabase ();
53135329
53145330 $ document ->setAttribute ('$id ' , 'caseSensitive ' );
5315- $ document ->setAttribute ('$sequence ' , '200 ' );
5316- $ database ->createDocument ($ document ->getCollection (), $ document );
5331+ $ document ->removeAttribute ('$sequence ' );
53175332
5333+ $ database ->createDocument ($ document ->getCollection (), $ document );
53185334 $ document ->setAttribute ('$id ' , 'CaseSensitive ' );
5335+ $ document ->removeAttribute ('$sequence ' );
53195336
5320- $ this ->expectException (DuplicateException::class);
5321- $ database ->createDocument ($ document ->getCollection (), $ document );
5337+ try {
5338+ $ database ->createDocument ($ document ->getCollection (), $ document );
5339+ $ this ->fail ('Failed to throw exception ' );
5340+ } catch (Throwable $ e ) {
5341+ $ this ->assertInstanceOf (DuplicateException::class, $ e );
5342+ }
53225343
53235344 return $ document ;
53245345 }
0 commit comments