disableMailPoetSendingMethod(); $result = ServicesChecker::checkMailPoetAPIKeyValid(); expect($result)->null(); } function testItChecksKeyValidity() { $this->setMailPoetSendingMethod(); Setting::setValue( Bridge::API_KEY_STATE_SETTING_NAME, array('state' => Bridge::MAILPOET_KEY_VALID) ); $result = ServicesChecker::checkMailPoetAPIKeyValid(); expect($result)->true(); Setting::setValue( Bridge::API_KEY_STATE_SETTING_NAME, array('state' => Bridge::MAILPOET_KEY_INVALID) ); $result = ServicesChecker::checkMailPoetAPIKeyValid(); expect($result)->false(); Setting::setValue( Bridge::API_KEY_STATE_SETTING_NAME, array( 'state' => Bridge::MAILPOET_KEY_EXPIRING, 'data' => array('expire_at' => date('c')) ) ); $result = ServicesChecker::checkMailPoetAPIKeyValid(); expect($result)->true(); // unexpected state should be treated as valid Setting::setValue( Bridge::API_KEY_STATE_SETTING_NAME, array( 'state' => 'unexpected' ) ); $result = ServicesChecker::checkMailPoetAPIKeyValid(); expect($result)->true(); } private function setMailPoetSendingMethod() { Setting::setValue( Mailer::MAILER_CONFIG_SETTING_NAME, array( 'method' => 'MailPoet', 'mailpoet_api_key' => 'some_key', ) ); } private function disableMailPoetSendingMethod() { Setting::setValue( Mailer::MAILER_CONFIG_SETTING_NAME, array( 'method' => 'PHPMail', ) ); } }