Dan Brown

Added tests for user crud

...@@ -30,6 +30,11 @@ body.dragging, body.dragging * { ...@@ -30,6 +30,11 @@ body.dragging, body.dragging * {
30 // User Avatar Images 30 // User Avatar Images
31 .avatar { 31 .avatar {
32 border-radius: 100%; 32 border-radius: 100%;
33 + background-color: #EEE;
34 + &.med {
35 + width: 40px;
36 + height: 40px;
37 + }
33 } 38 }
34 39
35 // System wide notifications 40 // System wide notifications
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 <div class="col-md-6"></div> 9 <div class="col-md-6"></div>
10 <div class="col-md-6 faded"> 10 <div class="col-md-6 faded">
11 <div class="action-buttons"> 11 <div class="action-buttons">
12 - <a href="/users/{{$user->id}}/delete" class="text-neg text-button"><i class="zmdi zmdi-delete"></i>Delete User</a> 12 + <a href="/users/{{$user->id}}/delete" class="text-neg text-button"><i class="zmdi zmdi-delete"></i>Delete user</a>
13 </div> 13 </div>
14 </div> 14 </div>
15 </div> 15 </div>
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
10 <h1>Users</h1> 10 <h1>Users</h1>
11 @if($currentUser->can('user-create')) 11 @if($currentUser->can('user-create'))
12 <p> 12 <p>
13 - <a href="/users/create" class="text-pos"><i class="zmdi zmdi-account-add"></i>Add New User</a> 13 + <a href="/users/create" class="text-pos"><i class="zmdi zmdi-account-add"></i>Add new user</a>
14 </p> 14 </p>
15 @endif 15 @endif
16 <table class="table"> 16 <table class="table">
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 </tr> 22 </tr>
23 @foreach($users as $user) 23 @foreach($users as $user)
24 <tr> 24 <tr>
25 - <td style="line-height: 0;"><img class="avatar" src="{{$user->getAvatar(40)}}" alt="{{$user->name}}"></td> 25 + <td style="line-height: 0;"><img class="avatar med" src="{{$user->getAvatar(40)}}" alt="{{$user->name}}"></td>
26 <td> 26 <td>
27 @if($currentUser->can('user-update') || $currentUser->id == $user->id) 27 @if($currentUser->can('user-update') || $currentUser->id == $user->id)
28 <a href="/users/{{$user->id}}"> 28 <a href="/users/{{$user->id}}">
......
...@@ -102,6 +102,47 @@ class AuthTest extends TestCase ...@@ -102,6 +102,47 @@ class AuthTest extends TestCase
102 ->seeInDatabase('users', ['name' => $user->name, 'email' => $user->email, 'email_confirmed' => true]); 102 ->seeInDatabase('users', ['name' => $user->name, 'email' => $user->email, 'email_confirmed' => true]);
103 } 103 }
104 104
105 + public function testUserControl()
106 + {
107 + $user = factory(\BookStack\User::class)->make();
108 + // Test creation
109 + $this->asAdmin()
110 + ->visit('/users')
111 + ->click('Add new user')
112 + ->type($user->name, '#name')
113 + ->type($user->email, '#email')
114 + ->select(2, '#role')
115 + ->type($user->password, '#password')
116 + ->type($user->password, '#password-confirm')
117 + ->press('Save')
118 + ->seeInDatabase('users', $user->toArray())
119 + ->seePageIs('/users')
120 + ->see($user->name);
121 + $user = $user->where('email', '=', $user->email)->first();
122 +
123 + // Test editing
124 + $this->asAdmin()
125 + ->visit('/users')
126 + ->click($user->name)
127 + ->seePageIs('/users/' . $user->id)
128 + ->see($user->email)
129 + ->type('Barry Scott', '#name')
130 + ->press('Save')
131 + ->seePageIs('/users')
132 + ->seeInDatabase('users', ['id' => $user->id, 'name' => 'Barry Scott'])
133 + ->notSeeInDatabase('users', ['name' => $user->name]);
134 + $user = $user->find($user->id);
135 +
136 + // Test Deletion
137 + $this->asAdmin()
138 + ->visit('/users/' . $user->id)
139 + ->click('Delete user')
140 + ->see($user->name)
141 + ->press('Confirm')
142 + ->seePageIs('/users')
143 + ->notSeeInDatabase('users', ['name' => $user->name]);
144 + }
145 +
105 public function testLogout() 146 public function testLogout()
106 { 147 {
107 $this->asAdmin() 148 $this->asAdmin()
......