12
12
namespace Symfony \Cmf \Bundle \RoutingBundle \Tests \WebTest ;
13
13
14
14
use Symfony \Cmf \Component \Testing \Functional \BaseTestCase ;
15
+ use Symfony \Component \DomCrawler \Crawler ;
15
16
16
17
class RedirectRouteAdminTest extends BaseTestCase
17
18
{
19
+ /**
20
+ * @var \Symfony\Bundle\FrameworkBundle\Client
21
+ */
22
+ private $ client ;
23
+
18
24
public function setUp ()
19
25
{
20
26
$ this ->db ('PHPCR ' )->loadFixtures (array (
@@ -37,11 +43,15 @@ public function testRedirectRouteEdit()
37
43
$ res = $ this ->client ->getResponse ();
38
44
$ this ->assertEquals (200 , $ res ->getStatusCode ());
39
45
$ this ->assertCount (1 , $ crawler ->filter ('input[value="redirect-route-1"] ' ));
46
+
47
+ $ this ->assertFrontendLinkPresent ($ crawler );
40
48
}
41
49
42
50
public function testRedirectRouteShow ()
43
51
{
44
- $ this ->markTestSkipped ('Not implemented yet. ' );
52
+ $ crawler = $ this ->client ->request ('GET ' , '/admin/cmf/routing/redirectroute/test/routing/redirect-route-1/show ' );
53
+ $ res = $ this ->client ->getResponse ();
54
+ $ this ->assertEquals (200 , $ res ->getStatusCode ());
45
55
}
46
56
47
57
public function testRedirectRouteCreate ()
@@ -50,19 +60,38 @@ public function testRedirectRouteCreate()
50
60
$ res = $ this ->client ->getResponse ();
51
61
$ this ->assertEquals (200 , $ res ->getStatusCode ());
52
62
63
+ $ this ->assertFrontendLinkNotPresent ($ crawler );
64
+
53
65
$ button = $ crawler ->selectButton ('Create ' );
54
66
$ form = $ button ->form ();
55
67
$ node = $ form ->getFormNode ();
56
68
$ actionUrl = $ node ->getAttribute ('action ' );
57
69
$ uniqId = substr (strchr ($ actionUrl , '= ' ), 1 );
58
70
59
- $ form [$ uniqId. '[parent] ' ] = '/test/routing ' ;
60
- $ form [$ uniqId. '[name] ' ] = 'foo-test ' ;
71
+ $ form [$ uniqId . '[parent] ' ] = '/test/routing ' ;
72
+ $ form [$ uniqId . '[name] ' ] = 'foo-test ' ;
61
73
62
74
$ this ->client ->submit ($ form );
63
75
$ res = $ this ->client ->getResponse ();
64
76
65
77
// If we have a 302 redirect, then all is well
66
78
$ this ->assertEquals (302 , $ res ->getStatusCode ());
67
79
}
80
+
81
+ /**
82
+ * @param Crawler $crawler
83
+ */
84
+ private function assertFrontendLinkPresent (Crawler $ crawler )
85
+ {
86
+ $ this ->assertCount (1 , $ link = $ crawler ->filter ('a[class="sonata-admin-frontend-link"] ' ));
87
+ $ this ->assertEquals ('/redirect-route-1 ' , $ link ->attr ('href ' ));
88
+ }
89
+
90
+ /**
91
+ * @param Crawler $crawler
92
+ */
93
+ private function assertFrontendLinkNotPresent (Crawler $ crawler )
94
+ {
95
+ $ this ->assertCount (0 , $ crawler ->filter ('a[class="sonata-admin-frontend-link"] ' ));
96
+ }
68
97
}
0 commit comments