| @@ 335-397 (lines=63) @@ | ||
| 332 | * |
|
| 333 | * @covers ::add_users_menu |
|
| 334 | */ |
|
| 335 | public function test_add_users_menu() { |
|
| 336 | global $menu, $submenu; |
|
| 337 | ||
| 338 | // Current user can't list users. |
|
| 339 | wp_set_current_user( $this->factory->user->create( array( 'role' => 'editor' ) ) ); |
|
| 340 | $menu = array(); |
|
| 341 | ||
| 342 | static::$admin_menu->add_users_menu( true ); |
|
| 343 | ||
| 344 | $this->assertEmpty( $menu ); |
|
| 345 | ||
| 346 | // Reset. |
|
| 347 | wp_set_current_user( static::$user_id ); |
|
| 348 | $menu = static::$menu_data; |
|
| 349 | ||
| 350 | static::$admin_menu->add_users_menu( static::$domain ); |
|
| 351 | ||
| 352 | $slug = 'https://wordpress.com/people/team/' . static::$domain; |
|
| 353 | ||
| 354 | $users_menu_item = array( |
|
| 355 | 'Users', |
|
| 356 | 'list_users', |
|
| 357 | $slug, |
|
| 358 | 'Users', |
|
| 359 | 'menu-top toplevel_page_' . $slug, |
|
| 360 | 'toplevel_page_' . $slug, |
|
| 361 | 'dashicons-admin-users', |
|
| 362 | ); |
|
| 363 | $this->assertSame( $menu[70], $users_menu_item ); |
|
| 364 | $this->assertEmpty( $submenu['users.php'] ); |
|
| 365 | ||
| 366 | $all_people_submenu_item = array( |
|
| 367 | 'All People', |
|
| 368 | 'list_users', |
|
| 369 | $slug, |
|
| 370 | 'All People', |
|
| 371 | ); |
|
| 372 | $this->assertContains( $all_people_submenu_item, $submenu[ $slug ] ); |
|
| 373 | ||
| 374 | $add_new_submenu_item = array( |
|
| 375 | 'Add New', |
|
| 376 | 'promote_users', |
|
| 377 | 'https://wordpress.com/people/new/' . static::$domain, |
|
| 378 | 'Add New', |
|
| 379 | ); |
|
| 380 | $this->assertContains( $add_new_submenu_item, $submenu[ $slug ] ); |
|
| 381 | ||
| 382 | $profile_submenu_item = array( |
|
| 383 | 'My Profile', |
|
| 384 | 'read', |
|
| 385 | 'https://wordpress.com/me', |
|
| 386 | 'My Profile', |
|
| 387 | ); |
|
| 388 | $this->assertContains( $profile_submenu_item, $submenu[ $slug ] ); |
|
| 389 | ||
| 390 | $account_submenu_item = array( |
|
| 391 | 'Account Settings', |
|
| 392 | 'read', |
|
| 393 | 'https://wordpress.com/me/account', |
|
| 394 | 'Account Settings', |
|
| 395 | ); |
|
| 396 | $this->assertContains( $account_submenu_item, $submenu[ $slug ] ); |
|
| 397 | } |
|
| 398 | ||
| 399 | /** |
|
| 400 | * Tests add_tools_menu |
|
| @@ 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 |
|