@@ 404-479 (lines=76) @@ | ||
401 | * |
|
402 | * @covers ::add_tools_menu |
|
403 | */ |
|
404 | public function test_add_tools_menu() { |
|
405 | global $menu, $submenu; |
|
406 | ||
407 | $slug = 'https://wordpress.com/marketing/tools/' . static::$domain; |
|
408 | static::$admin_menu->add_tools_menu( static::$domain ); |
|
409 | ||
410 | $tools_menu_item = array( |
|
411 | 'Tools', |
|
412 | 'manage_options', |
|
413 | $slug, |
|
414 | 'Tools', |
|
415 | 'menu-top toplevel_page_' . $slug, |
|
416 | 'toplevel_page_' . $slug, |
|
417 | 'dashicons-admin-tools', |
|
418 | ); |
|
419 | ||
420 | $this->assertSame( $menu[75], $tools_menu_item ); |
|
421 | $this->assertArrayNotHasKey( 'tools.php', $submenu ); |
|
422 | ||
423 | // Contains the following menu items. |
|
424 | ||
425 | $marketing_submenu_item = array( |
|
426 | 'Marketing', |
|
427 | 'manage_options', |
|
428 | 'https://wordpress.com/marketing/tools/' . static::$domain, |
|
429 | 'Marketing', |
|
430 | ); |
|
431 | $this->assertContains( $marketing_submenu_item, $submenu[ $slug ] ); |
|
432 | ||
433 | $earn_submenu_item = array( |
|
434 | 'Earn', |
|
435 | 'manage_options', |
|
436 | 'https://wordpress.com/earn/' . static::$domain, |
|
437 | 'Earn', |
|
438 | ); |
|
439 | $this->assertContains( $earn_submenu_item, $submenu[ $slug ] ); |
|
440 | ||
441 | $import_submenu_item = array( |
|
442 | 'Import', |
|
443 | 'import', |
|
444 | 'https://wordpress.com/import/' . static::$domain, |
|
445 | 'Import', |
|
446 | ); |
|
447 | $this->assertContains( $import_submenu_item, $submenu[ $slug ] ); |
|
448 | ||
449 | $export_submenu_item = array( |
|
450 | 'Export', |
|
451 | 'export', |
|
452 | 'https://wordpress.com/export/' . static::$domain, |
|
453 | 'Export', |
|
454 | ); |
|
455 | $this->assertContains( $export_submenu_item, $submenu[ $slug ] ); |
|
456 | ||
457 | // NOT contains the following menu items. |
|
458 | ||
459 | $tools_submenu_item = array( |
|
460 | 'Available Tools', |
|
461 | 'edit_posts', |
|
462 | 'tools.php', |
|
463 | ); |
|
464 | $this->assertNotContains( $tools_submenu_item, $submenu[ $slug ] ); |
|
465 | ||
466 | $import_submenu_item = array( |
|
467 | 'Import', |
|
468 | 'import', |
|
469 | 'import.php', |
|
470 | ); |
|
471 | $this->assertNotContains( $import_submenu_item, $submenu[ $slug ] ); |
|
472 | ||
473 | $export_submenu_item = array( |
|
474 | 'Export', |
|
475 | 'export', |
|
476 | 'export.php', |
|
477 | ); |
|
478 | $this->assertNotContains( $export_submenu_item, $submenu[ $slug ] ); |
|
479 | } |
|
480 | ||
481 | /** |
|
482 | * Tests add_options_menu |
@@ 452-527 (lines=76) @@ | ||
449 | * |
|
450 | * @covers ::add_tools_menu |
|
451 | */ |
|
452 | public function test_add_tools_menu() { |
|
453 | global $menu, $submenu; |
|
454 | ||
455 | $slug = 'https://wordpress.com/marketing/tools/' . static::$domain; |
|
456 | static::$admin_menu->add_tools_menu( static::$domain ); |
|
457 | ||
458 | $tools_menu_item = array( |
|
459 | 'Tools', |
|
460 | 'manage_options', |
|
461 | $slug, |
|
462 | 'Tools', |
|
463 | 'menu-top toplevel_page_' . $slug, |
|
464 | 'toplevel_page_' . $slug, |
|
465 | 'dashicons-admin-tools', |
|
466 | ); |
|
467 | ||
468 | $this->assertSame( $menu[75], $tools_menu_item ); |
|
469 | $this->assertArrayNotHasKey( 'tools.php', $submenu ); |
|
470 | ||
471 | // Contains the following menu items. |
|
472 | ||
473 | $marketing_submenu_item = array( |
|
474 | 'Marketing', |
|
475 | 'manage_options', |
|
476 | 'https://wordpress.com/marketing/tools/' . static::$domain, |
|
477 | 'Marketing', |
|
478 | ); |
|
479 | $this->assertContains( $marketing_submenu_item, $submenu[ $slug ] ); |
|
480 | ||
481 | $earn_submenu_item = array( |
|
482 | 'Earn', |
|
483 | 'manage_options', |
|
484 | 'https://wordpress.com/earn/' . static::$domain, |
|
485 | 'Earn', |
|
486 | ); |
|
487 | $this->assertContains( $earn_submenu_item, $submenu[ $slug ] ); |
|
488 | ||
489 | $import_submenu_item = array( |
|
490 | 'Import', |
|
491 | 'import', |
|
492 | 'https://wordpress.com/import/' . static::$domain, |
|
493 | 'Import', |
|
494 | ); |
|
495 | $this->assertContains( $import_submenu_item, $submenu[ $slug ] ); |
|
496 | ||
497 | $export_submenu_item = array( |
|
498 | 'Export', |
|
499 | 'export', |
|
500 | 'https://wordpress.com/export/' . static::$domain, |
|
501 | 'Export', |
|
502 | ); |
|
503 | $this->assertContains( $export_submenu_item, $submenu[ $slug ] ); |
|
504 | ||
505 | // NOT contains the following menu items. |
|
506 | ||
507 | $tools_submenu_item = array( |
|
508 | 'Available Tools', |
|
509 | 'edit_posts', |
|
510 | 'tools.php', |
|
511 | ); |
|
512 | $this->assertNotContains( $tools_submenu_item, $submenu[ $slug ] ); |
|
513 | ||
514 | $import_submenu_item = array( |
|
515 | 'Import', |
|
516 | 'import', |
|
517 | 'import.php', |
|
518 | ); |
|
519 | $this->assertNotContains( $import_submenu_item, $submenu[ $slug ] ); |
|
520 | ||
521 | $export_submenu_item = array( |
|
522 | 'Export', |
|
523 | 'export', |
|
524 | 'export.php', |
|
525 | ); |
|
526 | $this->assertNotContains( $export_submenu_item, $submenu[ $slug ] ); |
|
527 | } |
|
528 | ||
529 | /** |
|
530 | * Tests add_options_menu |