Merge pull request #23722 from jensschuppe/fix/multipleLogfilesMultilanguage
[civicrm-core.git] / tests / phpunit / CRM / SMS / ProviderTest.php
index af9378e32c8d9689a3d1442857c311a74b56fc2c..9bf2993bb6eb2b535feeb50a7c30345a94fa81e4 100644 (file)
@@ -23,7 +23,7 @@ class CRM_SMS_ProviderTest extends CiviUnitTestCase {
   /**
    * Set Up Funtion
    */
-  public function setUp() {
+  public function setUp(): void {
     parent::setUp();
     $option = $this->callAPISuccess('option_value', 'create', ['option_group_id' => 'sms_provider_name', 'name' => 'test_provider_name', 'label' => 'test_provider_name', 'value' => 1]);
     $this->option_value = $option['id'];
@@ -32,7 +32,7 @@ class CRM_SMS_ProviderTest extends CiviUnitTestCase {
   /**
    * Clean up after each test.
    */
-  public function tearDown() {
+  public function tearDown(): void {
     parent::tearDown();
     $this->quickCleanup(['civicrm_email', 'civicrm_phone', 'civicrm_activity', 'civicrm_activity_contact']);
     $this->callAPISuccess('option_value', 'delete', ['id' => $this->option_value]);
@@ -85,4 +85,26 @@ class CRM_SMS_ProviderTest extends CiviUnitTestCase {
     $message->toContactID = $testSourceContact;
   }
 
+  /**
+   * Some providers, like the mock one for these tests at the time of writing,
+   * or the dummy SMS provider extension, might not provide a default url,
+   * but the form shouldn't fail because of that.
+   */
+  public function testMissingUrl() {
+    $form = $this->getFormObject('CRM_SMS_Form_Provider');
+    $_REQUEST['key'] = 'CiviTestSMSProvider';
+
+    // This shouldn't give a notice
+    $defaults = $form->setDefaultValues();
+
+    $this->assertEquals([
+      'name' => 'CiviTestSMSProvider',
+      'api_url' => '',
+      'is_default' => 1,
+      'is_active' => 1,
+    ], $defaults);
+
+    unset($_REQUEST['key']);
+  }
+
 }