once()->with([$recheck, 'recheckIfNew'], 5); $recheck->register(); } /** @dataProvider installedBefore */ public function testForgetsTheUpdateResultWhenTheVersionIsNewToThisSite(string|false $stored): void { Functions\when('get_option')->justReturn($stored); Functions\expect('delete_site_transient')->once()->with('update_plugins'); Functions\expect('update_option')->once()->with(RecheckOnInstall::OPTION, '1.0.5', false); (new RecheckOnInstall('1.0.5'))->recheckIfNew(); } /** @return array */ public static function installedBefore(): array { return [ 'fresh install, nothing stored' => [false], 'replaced by a newer version' => ['1.0.4'], 'replaced by an older version' => ['1.0.9'], ]; } public function testDoesNothingForTheVersionAlreadySeen(): void { Functions\when('get_option')->justReturn('1.0.5'); Functions\expect('delete_site_transient')->never(); Functions\expect('update_option')->never(); (new RecheckOnInstall('1.0.5'))->recheckIfNew(); } }