| @@ 550-612 (lines=63) @@ | ||
| 547 | * |
|
| 548 | * @covers ::add_users_menu |
|
| 549 | */ |
|
| 550 | public function test_add_users_menu() { |
|
| 551 | global $menu, $submenu; |
|
| 552 | ||
| 553 | // Current user can't list users. |
|
| 554 | wp_set_current_user( $this->factory->user->create( array( 'role' => 'editor' ) ) ); |
|
| 555 | $menu = array(); |
|
| 556 | ||
| 557 | static::$admin_menu->add_users_menu( true ); |
|
| 558 | ||
| 559 | $this->assertEmpty( $menu ); |
|
| 560 | ||
| 561 | // Reset. |
|
| 562 | wp_set_current_user( static::$user_id ); |
|
| 563 | $menu = static::$menu_data; |
|
| 564 | ||
| 565 | static::$admin_menu->add_users_menu( static::$domain ); |
|
| 566 | ||
| 567 | $slug = 'https://wordpress.com/people/team/' . static::$domain; |
|
| 568 | ||
| 569 | $users_menu_item = array( |
|
| 570 | 'Users', |
|
| 571 | 'list_users', |
|
| 572 | $slug, |
|
| 573 | 'Users', |
|
| 574 | 'menu-top toplevel_page_' . $slug, |
|
| 575 | 'toplevel_page_' . $slug, |
|
| 576 | 'dashicons-admin-users', |
|
| 577 | ); |
|
| 578 | $this->assertSame( $menu[70], $users_menu_item ); |
|
| 579 | $this->assertEmpty( $submenu['users.php'] ); |
|
| 580 | ||
| 581 | $all_people_submenu_item = array( |
|
| 582 | 'All People', |
|
| 583 | 'list_users', |
|
| 584 | $slug, |
|
| 585 | 'All People', |
|
| 586 | ); |
|
| 587 | $this->assertContains( $all_people_submenu_item, $submenu[ $slug ] ); |
|
| 588 | ||
| 589 | $add_new_submenu_item = array( |
|
| 590 | 'Add New', |
|
| 591 | 'promote_users', |
|
| 592 | 'https://wordpress.com/people/new/' . static::$domain, |
|
| 593 | 'Add New', |
|
| 594 | ); |
|
| 595 | $this->assertContains( $add_new_submenu_item, $submenu[ $slug ] ); |
|
| 596 | ||
| 597 | $profile_submenu_item = array( |
|
| 598 | 'My Profile', |
|
| 599 | 'read', |
|
| 600 | 'https://wordpress.com/me', |
|
| 601 | 'My Profile', |
|
| 602 | ); |
|
| 603 | $this->assertContains( $profile_submenu_item, $submenu[ $slug ] ); |
|
| 604 | ||
| 605 | $account_submenu_item = array( |
|
| 606 | 'Account Settings', |
|
| 607 | 'read', |
|
| 608 | 'https://wordpress.com/me/account', |
|
| 609 | 'Account Settings', |
|
| 610 | ); |
|
| 611 | $this->assertContains( $account_submenu_item, $submenu[ $slug ] ); |
|
| 612 | } |
|
| 613 | ||
| 614 | /** |
|
| 615 | * Tests add_tools_menu |
|
| @@ 320-382 (lines=63) @@ | ||
| 317 | * |
|
| 318 | * @covers ::add_users_menu |
|
| 319 | */ |
|
| 320 | public function test_add_users_menu() { |
|
| 321 | global $menu, $submenu; |
|
| 322 | ||
| 323 | // Current user can't list users. |
|
| 324 | wp_set_current_user( $this->factory->user->create( array( 'role' => 'editor' ) ) ); |
|
| 325 | $menu = array(); |
|
| 326 | ||
| 327 | static::$admin_menu->add_users_menu( true ); |
|
| 328 | ||
| 329 | $this->assertEmpty( $menu ); |
|
| 330 | ||
| 331 | // Reset. |
|
| 332 | wp_set_current_user( static::$user_id ); |
|
| 333 | $menu = static::$menu_data; |
|
| 334 | ||
| 335 | static::$admin_menu->add_users_menu( static::$domain ); |
|
| 336 | ||
| 337 | $slug = 'https://wordpress.com/people/team/' . static::$domain; |
|
| 338 | ||
| 339 | $users_menu_item = array( |
|
| 340 | 'Users', |
|
| 341 | 'list_users', |
|
| 342 | $slug, |
|
| 343 | 'Users', |
|
| 344 | 'menu-top toplevel_page_' . $slug, |
|
| 345 | 'toplevel_page_' . $slug, |
|
| 346 | 'dashicons-admin-users', |
|
| 347 | ); |
|
| 348 | $this->assertSame( $menu[70], $users_menu_item ); |
|
| 349 | $this->assertEmpty( $submenu['users.php'] ); |
|
| 350 | ||
| 351 | $all_people_submenu_item = array( |
|
| 352 | 'All People', |
|
| 353 | 'list_users', |
|
| 354 | $slug, |
|
| 355 | 'All People', |
|
| 356 | ); |
|
| 357 | $this->assertContains( $all_people_submenu_item, $submenu[ $slug ] ); |
|
| 358 | ||
| 359 | $add_new_submenu_item = array( |
|
| 360 | 'Add New', |
|
| 361 | 'promote_users', |
|
| 362 | 'https://wordpress.com/people/new/' . static::$domain, |
|
| 363 | 'Add New', |
|
| 364 | ); |
|
| 365 | $this->assertContains( $add_new_submenu_item, $submenu[ $slug ] ); |
|
| 366 | ||
| 367 | $profile_submenu_item = array( |
|
| 368 | 'My Profile', |
|
| 369 | 'read', |
|
| 370 | 'https://wordpress.com/me', |
|
| 371 | 'My Profile', |
|
| 372 | ); |
|
| 373 | $this->assertContains( $profile_submenu_item, $submenu[ $slug ] ); |
|
| 374 | ||
| 375 | $account_submenu_item = array( |
|
| 376 | 'Account Settings', |
|
| 377 | 'read', |
|
| 378 | 'https://wordpress.com/me/account', |
|
| 379 | 'Account Settings', |
|
| 380 | ); |
|
| 381 | $this->assertContains( $account_submenu_item, $submenu[ $slug ] ); |
|
| 382 | } |
|
| 383 | ||
| 384 | /** |
|
| 385 | * Tests add_tools_menu |
|