/** * @depends testSnap */ public function testDiffTwoSnapshots() { global $wpdb, $testHelpers; $app = $testHelpers->getAppWithMockCli(); Bootstrap::setApplication($app); \WP_Mock::wpfunction('wp_cache_delete', ['times' => 1]); $wpdb = $this->getMock('wpdb', ['get_col']); $wpdb->expects($this->any())->method('get_col')->will($this->returnValue(['opta', 'optb', 'optc'])); $wpdb->options = 'wp_options'; \WP_Mock::wpfunction('get_option', ['return_in_order' => ['valaa', ['valbb', 'foo'], 'valcc']]); $snapper = new OptionSnap(); $snapper->snap(['snap2'], []); $snapper->diff(['snap1', 'snap2'], []); $utils = $app['cliutils']; $this->assertEquals('table', $utils->format); $this->assertTrue(count($utils->output) == 3); $this->assertEquals('NEW', $utils->output[0]['state']); $this->assertEquals('optc', $utils->output[0]['name']); $this->assertEquals('valcc', $utils->output[0]['snap2']); $this->assertEquals('', $utils->output[0]['snap1']); $this->assertEquals('No', $utils->output[0]['managed']); $this->assertEquals('MOD', $utils->output[1]['state']); $this->assertEquals('opta', $utils->output[1]['name']); $this->assertEquals('valaa', $utils->output[1]['snap2']); $this->assertEquals('vala', $utils->output[1]['snap1']); $this->assertEquals('No', $utils->output[1]['managed']); }