浏览代码

Merge remote-tracking branch 'andrewtch/tests-and-cleanup'

Jordi Boggiano 13 年之前
父节点
当前提交
182a83d3b6

+ 0 - 2
src/Packagist/WebBundle/Controller/ApiController.php

@@ -28,8 +28,6 @@ class ApiController extends Controller
      */
      */
     public function packagesAction()
     public function packagesAction()
     {
     {
-        $version = $this->get('request')->query->get('version');
-
         $packages = $this->get('doctrine')
         $packages = $this->get('doctrine')
             ->getRepository('Packagist\WebBundle\Entity\Package')
             ->getRepository('Packagist\WebBundle\Entity\Package')
             ->findAll();
             ->findAll();

+ 0 - 49
src/Packagist/WebBundle/Entity/Version.php

@@ -527,55 +527,6 @@ class Version
         return $this->tags;
         return $this->tags;
     }
     }
 
 
-    public function setTagsText($text)
-    {
-        $tags = array();
-        if (trim($text)) {
-            $tags = preg_split('#[\s,]+#', trim($text));
-            $tags = array_map(function($el) {
-                return trim(ltrim($el, '#'), '"\'');
-            }, $tags);
-            $uniqueTags = array();
-            foreach ($tags as $tag) {
-                if ($tag && !isset($uniqueTags[strtolower($tag)])) {
-                    $uniqueTags[strtolower($tag)] = $tag;
-                }
-            }
-            $tags = array_values($uniqueTags);
-        }
-
-        foreach ($this->tags as $k => $tag) {
-            if (false !== ($idx = array_search($tag->getName(), $tags))) {
-                unset($tags[$idx]);
-            } else {
-                unset($this->tags[$k]);
-            }
-        }
-
-        foreach ($tags as $tag) {
-            $this->addTags($this->getTagEntity($tag));
-        }
-    }
-
-    public function setEntityManager($em)
-    {
-        $this->em = $em;
-    }
-
-    protected function getTagEntity($name)
-    {
-        return Tag::getByName($this->em, $name, true);
-    }
-
-    public function getTagsText()
-    {
-        $tags = array();
-        foreach ($this->tags as $tag) {
-            $tags[] = $tag->getName();
-        }
-        return implode(', ', $tags);
-    }
-
     /**
     /**
      * Set updatedAt
      * Set updatedAt
      *
      *

+ 24 - 0
src/Packagist/WebBundle/Tests/Controller/AboutControllerTest.php

@@ -0,0 +1,24 @@
+<?php
+
+namespace Packagist\WebBundle\Tests\Controller;
+
+use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
+
+class AboutControllerTest extends WebTestCase
+{
+    public function testPackagist()
+    {
+        $client = self::createClient();
+
+        $crawler = $client->request('GET', '/about');
+        $this->assertEquals('What is Packagist?', $crawler->filter('.box h1')->first()->text());
+    }
+    
+    public function testComposer()
+    {
+        $client = self::createClient();
+
+        $crawler = $client->request('GET', '/about-composer');
+        $this->assertEquals('What is Composer?', $crawler->filter('.box h1')->first()->text());
+    }
+}

+ 16 - 0
src/Packagist/WebBundle/Tests/Controller/ApiControllerTest.php

@@ -0,0 +1,16 @@
+<?php
+
+namespace Packagist\WebBundle\Tests\Controller;
+
+use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;
+
+class ApiControllerTest extends WebTestCase
+{
+    public function testPackages()
+    {
+        $client = self::createClient();
+
+        $client->request('GET', '/packages.json');
+        $this->assertTrue(count(json_decode($client->getResponse()->getContent())) > 0);
+    }
+}

+ 19 - 0
src/Packagist/WebBundle/Tests/Controller/WebControllerTest.php

@@ -13,4 +13,23 @@ class WebControllerTest extends WebTestCase
         $crawler = $client->request('GET', '/');
         $crawler = $client->request('GET', '/');
         $this->assertEquals('Getting Started', $crawler->filter('.getting-started h1')->text());
         $this->assertEquals('Getting Started', $crawler->filter('.getting-started h1')->text());
     }
     }
+    
+    public function testPackages()
+    {
+        $client = self::createClient();
+        //we expect at least one package
+        $crawler = $client->request('GET', '/packages/');
+        $this->assertTrue($crawler->filter('.packages li')->count() > 0);
+    }
+    
+    public function testPackage()
+    {
+        $client = self::createClient();
+        //we expect package to be clickable and showing at least 'package' div
+        $crawler = $client->request('GET', '/packages/');
+        $link = $crawler->filter('.packages li h1 a')->first()->attr('href');
+        
+        $crawler = $client->request('GET', $link);
+        $this->assertTrue($crawler->filter('.package')->count() > 0);
+    }
 }
 }