@@ 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 |