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