/** * @depends testFindCurrencyByIso * @param Currency $c */ public function testFormat(Currency $c) { if (false === $c instanceof Currency) { $this->markTestSkipped('We got something like not Currency'); } $formatted = CurrencyHelper::format(100, $c); $this->assertEquals('100,00 $', $formatted); }
/** * Using PHPUnit with static variables are painfully. Because of it this single test executes in different Class then others. */ public function testGetMainCurrencyNotExists() { $data = [['name' => 'US Dollar', 'iso_code' => 'USD', 'convert_nominal' => 1, 'convert_rate' => 62.83, 'sort_order' => 1, 'format_string' => '$ #', 'thousands_sep' => '.', 'dec_point' => ',', 'is_main' => 0], 'Euro' => ['name' => 'Euro', 'iso_code' => 'EUR', 'convert_rate' => 71.31999999999999, 'format_string' => '€ #', 'is_main' => 0]]; $storage = (new Currency())->getStorage(); FunctionalHelper::flushStorage($storage); $this->assertFileNotExists($storage); CurrencyStorageHelper::generateStorage($data, $storage, Currency::className()); $this->assertFileExists($storage); $c = CurrencyHelper::getMainCurrency(); $this->assertNull($c); FunctionalHelper::flushCurrencyStorage(); }
public function actionChange() { $isoCode = Yii::$app->request->post('isoCode'); if ($isoCode === null) { throw new BadRequestHttpException(); } $newUserCurrency = CurrencyHelper::findCurrencyByIso($isoCode); if ($newUserCurrency !== null) { $oldUserCurrency = CurrencyHelper::getUserCurrency(); CurrencyHelper::setUserCurrency($newUserCurrency); $event = new AfterUserCurrencyChangeEvent(); $event->oldUserCurrency = $oldUserCurrency; $event->newUserCurrency = $newUserCurrency; CurrenciesModule::module()->trigger(CurrenciesModule::AFTER_USER_CURRENCY_CHANGE, $event); } return $this->redirect(Yii::$app->request->referrer); }
/** * Get a user currency from session * @return Currency */ public static function getUserCurrency() { if (static::$userCurrency === null) { $isoCode = Yii::$app->session->get(CurrenciesModule::CURRENCY_SESSION_KEY); $userCurrency = CurrencyHelper::findCurrencyByIso($isoCode); static::$userCurrency = $userCurrency !== null ? $userCurrency : static::getMainCurrency(); } return static::$userCurrency; }