Completed
Push — update/videopress-use-block-pr... ( 3d1273...0b40f6 )
by
unknown
21:10 queued 10:43
created

WP_Test_Jetpack_Instant_Search   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 55
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
dl 0
loc 55
rs 10
c 0
b 0
f 0
wmc 2
lcom 1
cbo 1

2 Methods

Rating   Name   Duplication   Size   Complexity  
A setUp() 0 4 1
A test_remove_wp_migrated_widgets() 0 32 1
1
<?php
2
/**
3
 * Test Instant Search Class
4
 *
5
 * @package automattic/jetpack
6
 */
7
8
if ( defined( 'IS_WPCOM' ) && IS_WPCOM ) {
9
	require_once WPMU_PLUGIN_DIR . '/jetpack-plugin/vendor/autoload_packages.php';
10
}
11
12
require_jetpack_file( 'modules/search/class.jetpack-search.php' );
13
require_jetpack_file( 'modules/search/class.jetpack-search-helpers.php' );
14
require_jetpack_file( 'modules/search/class-jetpack-search-options.php' );
15
require_jetpack_file( 'modules/search/class-jetpack-instant-search.php' );
16
17
/**
18
 * Jetpack_Instant_Search test cases
19
 *
20
 * @since 9.8.0
21
 */
22
class WP_Test_Jetpack_Instant_Search extends WP_UnitTestCase {
23
24
	/**
25
	 * Jetpack Instant Search instance
26
	 *
27
	 * @var Jetpack_Instant_Search $instant_search
28
	 */
29
	public static $instant_search;
30
31
	/**
32
	 * Setup test instance
33
	 */
34
	public function setUp() {
35
		parent::setUp();
36
		static::$instant_search = Jetpack_Instant_Search::instance();
37
	}
38
39
	/**
40
	 * Unwanted widgets should be removed from Jetpack Search sidbar
41
	 *
42
	 * @since 9.8.0
43
	 */
44
	public function test_remove_wp_migrated_widgets() {
45
		$old_sidebars_widgets = array(
46
			'wp_inactive_widgets'            => array( 'search-2' ),
47
			'jetpack-instant-search-sidebar' => array( 'jetpack-search-filters-2' ),
48
			'sidebar-1'                      => array( 'jetpack-search-filters-1', 'recent-posts-2', 'recent-comments-2' ),
49
			'sidebar-2'                      => array( 'archives-2', 'categories-2', 'meta-2' ),
50
			'array_version'                  => 3,
51
		);
52
		$new_sidebars_widgets = array(
53
			'wp_inactive_widgets'            => array( 'search-2' ),
54
			'jetpack-instant-search-sidebar' => array( 'jetpack-search-filters-2', 'archives-2', 'categories-2', 'meta-2' ),
55
			'sidebar-1'                      => array( 'jetpack-search-filters-1', 'recent-posts-2', 'recent-comments-2' ),
56
			'sidebar-2'                      => array(),
57
			'array_version'                  => 3,
58
		);
59
		// Note: sidebar-2 widgets moved to wp_inactive_widgets.
60
		$expected_sidebars_widgets = array(
61
			'wp_inactive_widgets'            => array( 'archives-2', 'categories-2', 'meta-2', 'search-2' ),
62
			'jetpack-instant-search-sidebar' => array( 'jetpack-search-filters-2' ),
63
			'sidebar-1'                      => array( 'jetpack-search-filters-1', 'recent-posts-2', 'recent-comments-2' ),
64
			'sidebar-2'                      => array(),
65
			'array_version'                  => 3,
66
		);
67
68
		add_filter( 'option_sidebars_widgets', array( static::class, 'getOldSidebarsWidgets' ) );
69
		static::$instant_search->save_old_sidebars_widgets( $old_sidebars_widgets );
70
71
		$this->assertEquals(
72
			$expected_sidebars_widgets,
73
			static::$instant_search->remove_wp_migrated_widgets( $new_sidebars_widgets )
74
		);
75
	}
76
}
77