From d3ec721eae0a3728049b30c7076e2fbefa0b8c99 Mon Sep 17 00:00:00 2001 From: Jonathan Labreuille Date: Thu, 23 Jul 2015 12:06:10 +0200 Subject: [PATCH] updated Settings class and added unit tests --- lib/settings.php | 95 +++++++++++++++++++++++++++++++++++++ tests/unit/DKIMCest.php | 1 - tests/unit/SettingsCest.php | 52 ++++++++++++++++++++ 3 files changed, 147 insertions(+), 1 deletion(-) create mode 100644 lib/settings.php create mode 100644 tests/unit/SettingsCest.php diff --git a/lib/settings.php b/lib/settings.php new file mode 100644 index 0000000000..da9e6fd503 --- /dev/null +++ b/lib/settings.php @@ -0,0 +1,95 @@ + true, + 'signup_confirmation_page' => '', // select mailpoet page by default + 'subscription_edit_page' => '', // select mailpoet page by default + 'mta_method' => 'website', + 'mta_local_method' => 'mail', + 'mta_frequency_emails' => 25, + 'mta_frequency_interval' => 15, + 'mta_smtp_authenticate' => true, // enable SMTP authentication by default + 'bounce_frequency_interval' => 60, + 'analytics' => false, + 'newsletter_charset' => 'UTF-8', + 'debug' => false, + ); + return $defaults; + } +} \ No newline at end of file diff --git a/tests/unit/DKIMCest.php b/tests/unit/DKIMCest.php index c7f4e98333..0e11a96a00 100644 --- a/tests/unit/DKIMCest.php +++ b/tests/unit/DKIMCest.php @@ -1,5 +1,4 @@ settings = \MailPoet\Settings::getAll(); + } + + public function it_has_defaults() { + $settings = \MailPoet\Settings::getDefaults(); + expect($this->settings)->notEmpty(); + } + + public function it_should_load_default_settings(UnitTester $I) { + $settings = \MailPoet\Settings::getAll(); + $defaults = \MailPoet\Settings::getDefaults(); + expect($settings)->equals($defaults); + } + + public function it_should_update_settings() { + $new_settings = array('test_key' => true); + \MailPoet\Settings::save($new_settings); + + $settings = \MailPoet\Settings::getAll(); + + expect_that(isset($settings['test_key']) && $settings['test_key'] === true); + } + + public function it_should_reset_settings() { + $settings = \MailPoet\Settings::getAll(); + + \MailPoet\Settings::clearAll(); + + $reset_settings = \MailPoet\Settings::getAll(); + + expect($settings)->notEmpty(); + expect($reset_settings)->equals(\MailPoet\Settings::getDefaults()); + } +} + +function get_option($value, $default) { + return $default; +} +function add_option() { + return true; +} +function update_option() { + return true; +} +function delete_option() { + return true; +} \ No newline at end of file