From ddedd739df1c2e65d23f1d87350701711ebfbf47 Mon Sep 17 00:00:00 2001
From: diosmosis <benaka@piwik.pro>
Date: Wed, 26 Aug 2015 11:15:36 -0700
Subject: [PATCH] While I'm in there, update the methods in
 SitesManager/tests/Integration/ApiTest to most recent naming convention.

---
 .../tests/Integration/ApiTest.php             | 216 +++++++-----------
 1 file changed, 85 insertions(+), 131 deletions(-)

diff --git a/plugins/SitesManager/tests/Integration/ApiTest.php b/plugins/SitesManager/tests/Integration/ApiTest.php
index f1863b612c..76de4ba10f 100644
--- a/plugins/SitesManager/tests/Integration/ApiTest.php
+++ b/plugins/SitesManager/tests/Integration/ApiTest.php
@@ -43,15 +43,11 @@ class ApiTest extends IntegrationTestCase
 
     /**
      * empty name -> exception
+     * @expectedException \Exception
      */
-    public function testAddSiteEmptyName()
+    public function test_addSite_WithEmptyName_ThrowsException()
     {
-        try {
-            API::getInstance()->addSite("", array("http://piwik.net"));
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->addSite("", array("http://piwik.net"));
     }
 
     /**
@@ -72,21 +68,17 @@ class ApiTest extends IntegrationTestCase
      * wrong urls -> exception
      *
      * @dataProvider getInvalidUrlData
+     * @expectedException \Exception
      */
-    public function testAddSiteWrongUrls($url)
+    public function test_addSite_WithWrongUrls_ThrowsException($url)
     {
-        try {
-            API::getInstance()->addSite("name", $url);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->addSite("name", $url);
     }
 
     /**
      * Test with valid IPs
      */
-    public function testAddSiteExcludedIpsAndtimezoneAndCurrencyAndExcludedQueryParametersValid()
+    public function test_addSite_WithExcludedIps_AndTimezone_AndCurrency_AndExcludedQueryParameters_SucceedsWhenParamsAreValid()
     {
         $ips = '1.2.3.4,1.1.1.*,1.2.*.*,1.*.*.*';
         $timezone = 'Europe/Paris';
@@ -138,22 +130,18 @@ class ApiTest extends IntegrationTestCase
      * Test with invalid IPs
      *
      * @dataProvider getInvalidIPsData
+     * @expectedException \Exception
      */
-    public function testAddSiteExcludedIpsNotValid($ip)
+    public function test_addSite_WithInvalidExcludedIps_ThrowsException($ip)
     {
-        try {
-            API::getInstance()->addSite("name", "http://piwik.net/", $ecommerce = 0,
-                $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, $ip);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->addSite("name", "http://piwik.net/", $ecommerce = 0,
+            $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, $ip);
     }
 
     /**
      * one url -> one main_url and nothing inserted as alias urls
      */
-    public function testAddSiteOneUrl()
+    public function test_addSite_WithOneUrl_Succeeds_AndCreatesNoAliasUrls()
     {
         $url = "http://piwik.net/";
         $urlOK = "http://piwik.net";
@@ -171,7 +159,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * several urls -> one main_url and others as alias urls
      */
-    public function testAddSiteSeveralUrls()
+    public function test_addSite_WithSeveralUrls_Succeeds_AndCreatesAliasUrls()
     {
         $urls = array("http://piwik.net/", "http://piwik.com", "https://piwik.net/test/");
         $urlsOK = array("http://piwik.net", "http://piwik.com", "https://piwik.net/test");
@@ -188,7 +176,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * strange name
      */
-    public function testAddSiteStrangeName()
+    public function test_addSite_WithStrangeName_Succeeds()
     {
         $name = "supertest(); ~@@()''!£\$'%%^'!£ போ";
         $idsite = API::getInstance()->addSite($name, "http://piwik.net");
@@ -203,7 +191,7 @@ class ApiTest extends IntegrationTestCase
      * @expectedException \Exception
      * @expectedExceptionMessage Only 100 characters are allowed
      */
-    public function testAddSite_ShouldFailAndNotCreatedASiteIfASettingIsInvalid()
+    public function test_addSite_ShouldFailAndNotCreatedASite_IfASettingIsInvalid()
     {
         try {
             $type = MobileAppMeasurable\Type::ID;
@@ -219,7 +207,7 @@ class ApiTest extends IntegrationTestCase
         }
     }
 
-    public function testAddSite_ShouldSavePassedMeasurableSettings_IfSettingsAreValid()
+    public function test_addSite_ShouldSavePassedMeasurableSettings_IfSettingsAreValid()
     {
         $type = MobileAppMeasurable\Type::ID;
         $settings = array('app_id' => 'org.piwik.mobile2');
@@ -292,7 +280,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * no duplicate -> all the urls are saved
      */
-    public function testAddSiteUrlsnoDuplicate()
+    public function test_addSiteAliasUrls_WithUniqueUrls_SavesAllUrls()
     {
         $idsite = $this->_addSite();
 
@@ -330,7 +318,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * duplicate -> don't save the already existing URLs
      */
-    public function testAddSiteUrlsDuplicate()
+    public function test_addSiteAliasUrls_WithDuplicateUrls_RemovesDuplicatesBeforeSaving()
     {
         $idsite = $this->_addSite();
 
@@ -354,7 +342,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * case empty array => nothing happens
      */
-    public function testAddSiteUrlsNoUrlsToAdd1()
+    public function test_addSiteAliasUrls_WithNoUrls_DoesNothing()
     {
         $idsite = $this->_addSite();
 
@@ -378,7 +366,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * case array only duplicate => nothing happens
      */
-    public function testAddSiteUrlsNoUrlsToAdd2()
+    public function test_addSiteAliasUrls_WithAlreadyPersistedUrls_DoesNothing()
     {
         $idsite = $this->_addSite();
 
@@ -401,45 +389,33 @@ class ApiTest extends IntegrationTestCase
 
     /**
      * wrong format urls => exception
+     * @expectedException \Exception
      */
-    public function testAddSiteUrlsWrongUrlsFormat3()
+    public function test_addSiteAliasUrls_WithIncorrectFormat_ThrowsException_3()
     {
-        try {
-            $idsite = $this->_addSite();
-            $toAdd = array("http:mpigeq");
-            API::getInstance()->addSiteAliasUrls($idsite, $toAdd);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        $idsite = $this->_addSite();
+        $toAdd = array("http:mpigeq");
+        API::getInstance()->addSiteAliasUrls($idsite, $toAdd);
     }
 
     /**
      * wrong idsite => no exception because simply no access to this resource
+     * @expectedException \Exception
      */
-    public function testAddSiteUrlsWrongIdSite1()
+    public function test_addSiteAliasUrls_WithWrongIdSite_ThrowsException()
     {
-        try {
-            $toAdd = array("http://pigeq.com/test");
-            API::getInstance()->addSiteAliasUrls(-1, $toAdd);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        $toAdd = array("http://pigeq.com/test");
+        API::getInstance()->addSiteAliasUrls(-1, $toAdd);
     }
 
     /**
      * wrong idsite => exception
+     * @expectedException \Exception
      */
-    public function testAddSiteUrlsWrongIdSite2()
+    public function test_addSiteAliasUrls_WithWrongIdSite_ThrowsException2()
     {
-        try {
-            $toAdd = array("http://pigeq.com/test");
-            API::getInstance()->addSiteAliasUrls(155, $toAdd);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        $toAdd = array("http://pigeq.com/test");
+        API::getInstance()->addSiteAliasUrls(155, $toAdd);
     }
 
     public function test_addSite_CorrectlySavesExcludeUnknownUrlsSetting()
@@ -456,7 +432,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * no Id -> empty array
      */
-    public function testGetAllSitesIdNoId()
+    public function test_getAllSitesId_ReturnsNothing_WhenNoSitesSaved()
     {
         $ids = API::getInstance()->getAllSitesId();
         $this->assertEquals(array(), $ids);
@@ -465,7 +441,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * several Id -> normal array
      */
-    public function testGetAllSitesIdSeveralId()
+    public function test_getAllSitesId_ReturnsAllIds_WhenMultipleSitesPersisted()
     {
         $name = "tetq";
         $idsites = array(
@@ -482,34 +458,27 @@ class ApiTest extends IntegrationTestCase
 
     /**
      * wrong id => exception
+     * @expectedException \Exception
      */
-    public function testGetSiteFromIdWrongId1()
+    public function test_getSiteFromId_WithWrongId_ThrowsException1()
     {
-        try {
-            API::getInstance()->getSiteFromId(0);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->getSiteFromId(0);
     }
 
     /**
      * wrong id => exception
+     * @expectedException \Exception
      */
-    public function testGetSiteFromIdWrongId2()
+    public function test_getSiteFromId_WithWrongId_ThrowsException2()
     {
-        try {
-            API::getInstance()->getSiteFromId("x1");
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->getSiteFromId("x1");
     }
 
     /**
      * wrong id : no access => exception
+     * @expectedException \Exception
      */
-    public function testGetSiteFromIdWrongId3()
+    public function test_getSiteFromId_ThrowsException_WhenTheUserDoesNotHavaAcessToTheSite()
     {
         $idsite = API::getInstance()->addSite("site", array("http://piwik.net", "http://piwik.com/test/"));
         $this->assertEquals(1, $idsite);
@@ -518,18 +487,13 @@ class ApiTest extends IntegrationTestCase
         FakeAccess::setIdSitesView(array(2));
         FakeAccess::setIdSitesAdmin(array());
 
-        try {
-            API::getInstance()->getSiteFromId(1);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->getSiteFromId(1);
     }
 
     /**
      * normal case
      */
-    public function testGetSiteFromIdNormalId()
+    public function test_getSiteFromId_WithNormalId_ReturnsTheCorrectSite()
     {
         $name = "website ''";
         $idsite = API::getInstance()->addSite($name, array("http://piwik.net", "http://piwik.com/test/"));
@@ -543,7 +507,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * there is no admin site available -> array()
      */
-    public function testGetSitesWithAdminAccessNoResult()
+    public function test_getSitesWithAdminAccess_ReturnsNothing_WhenUserHasNoAdminAccess()
     {
         FakeAccess::setIdSitesAdmin(array());
 
@@ -554,7 +518,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * normal case, admin and view and noaccess website => return only admin
      */
-    public function testGetSitesWithAdminAccess_shouldOnlyReturnSitesHavingActuallyAdminAccess()
+    public function test_getSitesWithAdminAccess_shouldOnlyReturnSitesHavingActuallyAdminAccess()
     {
         API::getInstance()->addSite("site1", array("http://piwik.net", "http://piwik.com/test/"));
         API::getInstance()->addSite("site2", array("http://piwik.com/test/"));
@@ -575,7 +539,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertEquals($resultWanted, $sites);
     }
 
-    public function testGetSitesWithAdminAccess_shouldApplyLimit_IfSet()
+    public function test_getSitesWithAdminAccess_shouldApplyLimit_IfSet()
     {
         $this->createManySitesWithAdminAccess(40);
 
@@ -592,7 +556,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertReturnedSitesContainsSiteIds(range(1, 10), $sites);
     }
 
-    public function testGetSitesWithAdminAccess_shouldApplyPattern_IfSetAndFindBySiteName()
+    public function test_getSitesWithAdminAccess_shouldApplyPattern_IfSetAndFindBySiteName()
     {
         $this->createManySitesWithAdminAccess(40);
 
@@ -601,7 +565,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertReturnedSitesContainsSiteIds(array(38), $sites);
     }
 
-    public function testGetSitesWithAdminAccess_shouldApplyPattern_IfSetAndFindByUrl()
+    public function test_getSitesWithAdminAccess_shouldApplyPattern_IfSetAndFindByUrl()
     {
         $this->createManySitesWithAdminAccess(40);
 
@@ -609,7 +573,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertReturnedSitesContainsSiteIds(array(38), $sites);
     }
 
-    public function testGetSitesWithAdminAccess_shouldApplyPattern_AndFindMany()
+    public function test_getSitesWithAdminAccess_shouldApplyPattern_AndFindMany()
     {
         $this->createManySitesWithAdminAccess(40);
 
@@ -617,7 +581,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertReturnedSitesContainsSiteIds(array(5, 15, 25, 35), $sites);
     }
 
-    public function testGetSitesWithAdminAccess_shouldApplyPatternAndLimit()
+    public function test_getSitesWithAdminAccess_shouldApplyPatternAndLimit()
     {
         $this->createManySitesWithAdminAccess(40);
 
@@ -651,7 +615,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * there is no admin site available -> array()
      */
-    public function testGetSitesWithViewAccessNoResult()
+    public function test_getSitesWithViewAccess_ReturnsNothing_IfUserHasNoViewOrAdminAccess()
     {
         FakeAccess::setIdSitesView(array());
         FakeAccess::setIdSitesAdmin(array());
@@ -663,7 +627,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * normal case, admin and view and noaccess website => return only admin
      */
-    public function testGetSitesWithViewAccess()
+    public function test_getSitesWithViewAccess_ReturnsSitesWithViewAccess()
     {
         API::getInstance()->addSite("site1", array("http://piwik.net", "http://piwik.com/test/"));
         API::getInstance()->addSite("site2", array("http://piwik.com/test/"));
@@ -687,7 +651,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * there is no admin site available -> array()
      */
-    public function testGetSitesWithAtLeastViewAccessNoResult()
+    public function test_getSitesWithAtLeastViewAccess_ReturnsNothing_WhenUserHasNoAccess()
     {
         FakeAccess::setIdSitesView(array());
         FakeAccess::setIdSitesAdmin(array());
@@ -699,7 +663,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * normal case, admin and view and noaccess website => return only admin
      */
-    public function testGetSitesWithAtLeastViewAccess()
+    public function test_getSitesWithAtLeastViewAccess_ReturnsSitesWithViewAccess()
     {
         API::getInstance()->addSite("site1", array("http://piwik.net", "http://piwik.com/test/"), $ecommerce = 1);
         API::getInstance()->addSite("site2", array("http://piwik.com/test/"));
@@ -723,7 +687,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * no urls for this site => array()
      */
-    public function testGetSiteUrlsFromIdNoUrls()
+    public function test_getSiteUrlsFromId_ReturnsMainUrlOnly_WhenNoAliasUrls()
     {
         $idsite = API::getInstance()->addSite("site1", array("http://piwik.net"));
 
@@ -734,7 +698,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * normal case
      */
-    public function testGetSiteUrlsFromIdManyUrls()
+    public function test_getSiteUrlsFromId_ReturnsMainAndAliasUrls()
     {
         $site = array("http://piwik.net",
                       "http://piwik.org",
@@ -755,23 +719,19 @@ class ApiTest extends IntegrationTestCase
 
     /**
      * wrongId => exception
+     * @expectedException \Exception
      */
-    public function testGetSiteUrlsFromIdWrongId()
+    public function test_getSiteUrlsFromId_ThrowsException_WhenSiteIdIsIncorrect()
     {
-        try {
-            FakeAccess::setIdSitesView(array(3));
-            FakeAccess::setIdSitesAdmin(array());
-            API::getInstance()->getSiteUrlsFromId(1);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        FakeAccess::setIdSitesView(array(3));
+        FakeAccess::setIdSitesAdmin(array());
+        API::getInstance()->getSiteUrlsFromId(1);
     }
 
     /**
      * one url => no change to alias urls
      */
-    public function testUpdateSiteOneUrl()
+    public function test_updateSite_WithOneUrl_RemovesAliasUrls_AndUpdatesTheSiteCorrectly()
     {
         $urls = array("http://piwiknew.com",
                       "http://piwiknew.net",
@@ -819,7 +779,7 @@ class ApiTest extends IntegrationTestCase
     /**
      * strange name and NO URL => name ok, main_url not updated
      */
-    public function testUpdateSiteStrangeNameNoUrl()
+    public function test_updateSite_WithStrangeName_AndNoAliasUrls_UpdatesTheName_ButNoUrls()
     {
         $idsite = API::getInstance()->addSite("site1", "http://main.url");
         $newName = "test toto@{'786'}";
@@ -837,7 +797,7 @@ class ApiTest extends IntegrationTestCase
      * several urls => both main and alias are updated
      * also test the update of group field
      */
-    public function testUpdateSiteSeveralUrlsAndGroup()
+    public function test_updateSite_WithSeveralUrlsAndGroup_UpdatesGroupAndUrls()
     {
         $urls = array("http://piwiknew.com",
                       "http://piwiknew.net",
@@ -886,7 +846,7 @@ class ApiTest extends IntegrationTestCase
      * @expectedException \Exception
      * @expectedExceptionMessage Only 100 characters are allowed
      */
-    public function testUpdateSite_ShouldFailAndNotUpdateSiteIfASettingIsInvalid()
+    public function test_updateSite_ShouldFailAndNotUpdateSite_IfASettingIsInvalid()
     {
         $type  = MobileAppMeasurable\Type::ID;
         $idSite = $this->addSiteWithType($type, array());
@@ -903,7 +863,7 @@ class ApiTest extends IntegrationTestCase
         }
     }
 
-    public function testUpdateSite_ShouldSavePassedMeasurableSettings_IfSettingsAreValid()
+    public function test_updateSite_ShouldSavePassedMeasurableSettings_IfSettingsAreValid()
     {
         $type = MobileAppMeasurable\Type::ID;
         $idSite = $this->addSiteWithType($type, array());
@@ -1032,31 +992,25 @@ class ApiTest extends IntegrationTestCase
     /**
      *
      * @dataProvider getInvalidTimezoneData
+     * @expectedException \Exception
      */
-    public function testAddSitesInvalidTimezone($timezone)
+    public function test_addSite_WithInvalidTimezone_ThrowsException($timezone)
     {
-        try {
-            API::getInstance()->addSite("site1", array('http://example.org'), $ecommerce = 0,
-                $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, $ip = '', $params = '', $timezone);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        API::getInstance()->addSite("site1", array('http://example.org'), $ecommerce = 0,
+            $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, $ip = '', $params = '', $timezone);
     }
 
-    public function testAddSitesInvalidCurrency()
+    /**
+     * @expectedException \Exception
+     */
+    public function test_addSite_WithInvalidCurrency_ThrowsException()
     {
-        try {
-            $invalidCurrency = '€';
-            API::getInstance()->addSite("site1", array('http://example.org'), $ecommerce = 0,
-                $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, '', 'UTC', $invalidCurrency);
-        } catch (Exception $e) {
-            return;
-        }
-        $this->fail('Expected exception not raised');
+        $invalidCurrency = '€';
+        API::getInstance()->addSite("site1", array('http://example.org'), $ecommerce = 0,
+            $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, '', 'UTC', $invalidCurrency);
     }
 
-    public function testSetDefaultTimezoneAndCurrencyAndExcludedQueryParametersAndExcludedIps()
+    public function test_setDefaultTimezone_AndCurrency_AndExcludedQueryParameters_AndExcludedIps_UpdatesDefaultsCorreclty()
     {
         // test that they return default values
         $defaultTimezone = API::getInstance()->getDefaultTimezone();
@@ -1122,7 +1076,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertFalse(Site::isEcommerceEnabledFor($idsite));
     }
 
-    public function testGetSitesIdFromSiteUrl_asSuperUser()
+    public function test_getSitesIdFromSiteUrl_AsSuperUser_ReturnsTheRequestedSiteIds()
     {
         API::getInstance()->addSite("site1", array("http://piwik.net", "http://piwik.com"));
         API::getInstance()->addSite("site2", array("http://piwik.com", "http://piwik.net"));
@@ -1141,14 +1095,14 @@ class ApiTest extends IntegrationTestCase
         $this->assertTrue(count($idsites) == 3);
     }
 
-    public function test_getSitesIdFromSiteUrl_matchesBothHttpAndHttpsUrls_asSuperUser()
+    public function test_getSitesIdFromSiteUrl_MatchesBothHttpAndHttpsUrls_AsSuperUser()
     {
         API::getInstance()->addSite("site1", array("https://piwik.org", "http://example.com", "fb://special-url"));
 
         $this->assert_getSitesIdFromSiteUrl_matchesBothHttpAndHttpsUrls();
     }
 
-    public function test_getSitesIdFromSiteUrl_matchesBothHttpAndHttpsUrls_asUserWithViewPermission()
+    public function test_getSitesIdFromSiteUrl_MatchesBothHttpAndHttpsUrls_AsUserWithViewPermission()
     {
         API::getInstance()->addSite("site1", array("https://piwik.org", "http://example.com", "fb://special-url"));
 
@@ -1190,7 +1144,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertTrue(count($idsites) == 0);
     }
 
-    public function test_getSitesIdFromSiteUrl_asUser()
+    public function test_getSitesIdFromSiteUrl_AsUser()
     {
         API::getInstance()->addSite("site1", array("http://www.piwik.net", "https://piwik.com"));
         API::getInstance()->addSite("site2", array("http://piwik.com", "http://piwik.net"));
@@ -1242,7 +1196,7 @@ class ApiTest extends IntegrationTestCase
         $this->assertEquals(3, count($idsites));
     }
 
-    public function testGetSitesFromTimezones()
+    public function test_getSitesFromTimezones_ReturnsCorrectIdSites()
     {
         API::getInstance()->addSite("site3", array("http://piwik.org"), null, $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, null, null, 'UTC');
         $idsite2 = API::getInstance()->addSite("site3", array("http://piwik.org"), null, $siteSearch = 1, $searchKeywordParameters = null, $searchCategoryParameters = null, null, null, 'Pacific/Auckland');
-- 
GitLab