99use Notion \Databases \Database ;
1010use Notion \Databases \DatabaseParent ;
1111use Notion \Databases \Properties \Date ;
12+ use Notion \Databases \Properties \People ;
1213use Notion \Databases \Properties \RichTextProperty ;
1314use Notion \Databases \Properties \Select ;
1415use Notion \Databases \Properties \SelectOption ;
2122use Notion \Pages \Page ;
2223use Notion \Pages \PageParent ;
2324use Notion \Pages \Properties \Date as DateProp ;
25+ use Notion \Pages \Properties \People as PeopleProp ;
2426use Notion \Pages \Properties \Select as SelectProp ;
2527use Notion \Search \Query as SearchQuery ;
28+ use Notion \Users \User ;
2629use PHPUnit \Framework \TestCase ;
2730
2831class DatabasesTest extends TestCase
@@ -204,13 +207,46 @@ public function test_query_inexistent_database(): void
204207 $ client ->databases ()->query ($ database , $ query );
205208 }
206209
210+ public function test_rename_database_with_people_property (): void
211+ {
212+ $ client = Helper::client ();
213+
214+ $ database = self ::moviesDatabase ();
215+ $ database = $ database ->changeTitle ("New movies database " );
216+ $ database = $ client ->databases ()->update ($ database );
217+
218+ $ client ->databases ()->delete ($ database );
219+
220+ $ this ->assertSame ("New movies database " , $ database ->title [0 ]->plainText );
221+ }
222+
223+ public function test_rename_database_page_with_people_property (): void
224+ {
225+ $ client = Helper::client ();
226+
227+ $ database = self ::moviesDatabase ();
228+
229+ $ users = Helper::client ()->users ()->findAll ();
230+ $ userId = $ users [0 ]->id ;
231+
232+ $ newPage = self ::moviePage ($ database ->id , "Sample movie " , "2023-01-01 " , "Action " , $ userId );
233+ $ newPage = $ client ->pages ()->create ($ newPage );
234+
235+ $ newPage = $ newPage ->changeTitle ("Updated sample movie " );
236+ $ client ->pages ()->update ($ newPage );
237+
238+ $ client ->databases ()->delete ($ database );
239+
240+ $ this ->assertSame ("Updated sample movie " , $ newPage ->title ()?->toString());
241+ }
242+
207243 private static function moviesDatabase (): Database
208244 {
209245 $ databaseParent = DatabaseParent::page (Helper::testPageId ());
210246
211247 $ categories = [
212248 SelectOption::fromName ("Action " )->changeColor (Color::Orange),
213- SelectOption::fromname ("Comedy " )->changeColor (Color::Yellow),
249+ SelectOption::fromName ("Comedy " )->changeColor (Color::Yellow),
214250 SelectOption::fromName ("Drama " )->changeColor (Color::Red),
215251 ];
216252
@@ -220,16 +256,20 @@ private static function moviesDatabase(): Database
220256 "Movies " => Title::create ("Movie " ),
221257 "Release date " => Date::create ("Release date " ),
222258 "Category " => Select::create ("Category " , $ categories ),
259+ "People " => People::create ("People " ),
223260 ]);
224261
225262 $ database = Helper::client ()->databases ()->create ($ database );
226263
264+ $ users = Helper::client ()->users ()->findAll ();
265+ $ userId = $ users [0 ]->id ;
266+
227267 $ pages = [
228- self ::moviePage ($ database ->id , "A Clockwork Orange " , "1972-12-19 " , "Drama " ),
229- self ::moviePage ($ database ->id , "Dead Poets Society " , "1989-06-02 " , "Drama " ),
230- self ::moviePage ($ database ->id , "Batman " , "1989-10-26 " , "Action " ),
231- self ::moviePage ($ database ->id , "The Mask " , "1994-12-23 " , "Comedy " ),
232- self ::moviePage ($ database ->id , "American Beauty " , "1999-09-08 " , "Drama " ),
268+ self ::moviePage ($ database ->id , "A Clockwork Orange " , "1972-12-19 " , "Drama " , $ userId ),
269+ self ::moviePage ($ database ->id , "Dead Poets Society " , "1989-06-02 " , "Drama " , $ userId ),
270+ self ::moviePage ($ database ->id , "Batman " , "1989-10-26 " , "Action " , $ userId ),
271+ self ::moviePage ($ database ->id , "The Mask " , "1994-12-23 " , "Comedy " , $ userId ),
272+ self ::moviePage ($ database ->id , "American Beauty " , "1999-09-08 " , "Drama " , $ userId ),
233273 ];
234274
235275 $ client = Helper::client ();
@@ -244,13 +284,15 @@ private static function moviePage(
244284 string $ databaseId ,
245285 string $ title ,
246286 string $ releaseDate ,
247- string $ category
287+ string $ category ,
288+ string $ userId
248289 ): Page {
249290 $ date = new DateTimeImmutable ($ releaseDate );
250291 return Page::create (PageParent::database ($ databaseId ))
251292 ->changeTitle ($ title )
252293 ->addProperty ("Release date " , DateProp::create ($ date ))
253- ->addProperty ("Category " , SelectProp::fromname ($ category ));
294+ ->addProperty ("Category " , SelectProp::fromName ($ category ))
295+ ->addProperty ("People " , PeopleProp::create (User::create ($ userId )));
254296 }
255297
256298 private static function bigDatabase (): Database
0 commit comments