Skip to content

Commit 4601fa6

Browse files
committed
fix the missing helper functions
1 parent 47bad53 commit 4601fa6

File tree

4 files changed

+45
-42
lines changed

4 files changed

+45
-42
lines changed

.phpunit.result.cache

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
C:37:"PHPUnit\Runner\DefaultTestResultCache":1256:{a:2:{s:7:"defects";a:7:{s:74:"Tests\Feature\ArticleTest::that_only_loading_articles_for_provided_user_id";i:4;s:49:"Tests\Feature\ArticleTest::that_load_all_articles";i:4;s:62:"Tests\Feature\ArticleTest::that_loaded_only_published_articles";i:4;s:59:"Tests\Feature\ArticleTest::that_load_only_published_article";i:4;s:95:"Tests\Feature\ArticleTest::that_article_get_published_and_total_number_of_published_get_changed";i:4;s:99:"Tests\Feature\ArticleTest::that_article_get_unpublished_and_total_number_of_unpublished_get_changed";i:4;s:44:"Tests\Feature\LoginTest::test_user_can_login";i:3;}s:5:"times";a:8:{s:74:"Tests\Feature\ArticleTest::that_only_loading_articles_for_provided_user_id";d:1.668;s:49:"Tests\Feature\ArticleTest::that_load_all_articles";d:0.541;s:62:"Tests\Feature\ArticleTest::that_loaded_only_published_articles";d:0.376;s:59:"Tests\Feature\ArticleTest::that_load_only_published_article";d:0.556;s:95:"Tests\Feature\ArticleTest::that_article_get_published_and_total_number_of_published_get_changed";d:0.438;s:99:"Tests\Feature\ArticleTest::that_article_get_unpublished_and_total_number_of_unpublished_get_changed";d:0.419;s:44:"Tests\Feature\LoginTest::test_user_can_login";d:1.037;s:37:"Tests\Unit\ExampleTest::testBasicTest";d:0.21;}}}

app/Http/Controllers/Api/ArticleController.php

+11-9
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
<?php
2+
23
namespace App\Http\Controllers\Api;
34

45
use App\Article;
6+
use Illuminate\Http\Request;
7+
use Illuminate\Support\Str;
58
use App\Http\Controllers\Controller;
69
use App\Http\Requests\ArticleRequest;
710
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
8-
use Illuminate\Http\Request;
911

1012
class ArticleController extends Controller
1113
{
@@ -57,15 +59,15 @@ public function create()
5759
/**
5860
* Store a newly created resource in storage.
5961
*
60-
* @param ArticleRequest $request
62+
* @param ArticleRequest $request
6163
* @return \Illuminate\Http\Response
6264
*/
6365
public function store(ArticleRequest $request)
6466
{
6567
$user = $request->user();
6668

6769
$article = new Article($request->validated());
68-
$article->slug = str_slug($request->get('title'));
70+
$article->slug = Str::slug($request->get('title'));
6971

7072
$user->articles()->save($article);
7173

@@ -76,7 +78,7 @@ public function store(ArticleRequest $request)
7678
* Display the specified resource.
7779
*
7880
* @param \Illuminate\Http\Request $request
79-
* @param int $id
81+
* @param int $id
8082
* @return \Illuminate\Http\Response
8183
*/
8284
public function show(Request $request, $id)
@@ -91,7 +93,7 @@ public function show(Request $request, $id)
9193
/**
9294
* Show the form for editing the specified resource.
9395
*
94-
* @param int $id
96+
* @param int $id
9597
* @return \Illuminate\Http\Response
9698
*/
9799
public function edit($id)
@@ -102,16 +104,16 @@ public function edit($id)
102104
/**
103105
* Update the specified resource in storage.
104106
*
105-
* @param ArticleRequest $request
106-
* @param int $id
107+
* @param ArticleRequest $request
108+
* @param int $id
107109
* @return \Illuminate\Http\Response
108110
*/
109111
public function update(ArticleRequest $request, $id)
110112
{
111113
$article = Article::findOrFail($id);
112114

113115
$data = $request->validated();
114-
$data['slug'] = str_slug($data['title']);
116+
$data['slug'] = Str::slug($data['title']);
115117
$article->update($data);
116118

117119
return response()->json($article, 200);
@@ -120,7 +122,7 @@ public function update(ArticleRequest $request, $id)
120122
/**
121123
* Remove the specified resource from storage.
122124
*
123-
* @param int $id
125+
* @param int $id
124126
* @return \Illuminate\Http\Response
125127
*/
126128
public function delete($id)

database/factories/ModelFactory.php

+4-2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111
|
1212
*/
1313

14+
use Illuminate\Support\Str;
15+
1416
/** @var \Illuminate\Database\Eloquent\Factory $factory */
1517
$factory->define(App\User::class, function (Faker\Generator $faker) {
1618
static $password;
@@ -21,7 +23,7 @@
2123
'phone' => $faker->phoneNumber,
2224
'about' => $faker->sentence(10),
2325
'password' => $password ?: $password = bcrypt('secret'),
24-
'remember_token' => str_random(10),
26+
'remember_token' => Str::random(10),
2527
];
2628
});
2729

@@ -32,7 +34,7 @@
3234

3335
return [
3436
'title' => $title,
35-
'slug' => str_slug($title),
37+
'slug' => Str::slug($title),
3638
'description' => $faker->sentence(15),
3739
'content' => implode(' ', $faker->paragraphs(2)),
3840
'published' => true,

tests/Feature/ArticleTest.php

+29-31
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,12 @@
22

33
namespace Tests\Feature;
44

5-
use App\Article;
65
use App\User;
6+
use App\Article;
77
use Carbon\Carbon;
8-
use Symfony\Component\HttpKernel\Tests\Exception\NotFoundHttpExceptionTest;
98
use Tests\TestCase;
10-
use Illuminate\Foundation\Testing\WithoutMiddleware;
11-
use Illuminate\Foundation\Testing\DatabaseMigrations;
129
use Illuminate\Foundation\Testing\DatabaseTransactions;
10+
use Illuminate\Support\Str;
1311

1412
class ArticleTest extends TestCase
1513
{
@@ -24,6 +22,17 @@ public function setUp(): void
2422
$this->user = $this->createAdminUser();
2523
}
2624

25+
private function createAdminUser()
26+
{
27+
return User::create([
28+
'name' => 'Moeen Basra',
29+
'email' => '[email protected]',
30+
'password' => bcrypt('secret'),
31+
'is_admin' => true,
32+
'remember_token' => Str::random(10),
33+
]);
34+
}
35+
2736
/** @test */
2837
public function that_only_loading_articles_for_provided_user_id()
2938
{
@@ -35,6 +44,14 @@ public function that_only_loading_articles_for_provided_user_id()
3544

3645
}
3746

47+
private function seedUnpublishedArticles($num = 15)
48+
{
49+
factory(Article::class, $num)->create([
50+
'user_id' => $this->user->id,
51+
'published' => false,
52+
]);
53+
}
54+
3855
/** @test */
3956
public function that_load_all_articles()
4057
{
@@ -55,6 +72,14 @@ public function that_loaded_only_published_articles()
5572
$this->assertCount(5, $articles);
5673
}
5774

75+
private function seedPublishedArticles($num = 5)
76+
{
77+
factory(Article::class, $num)->create([
78+
'user_id' => $this->user->id,
79+
'published' => true,
80+
]);
81+
}
82+
5883
/** @test */
5984
public function that_load_only_published_article()
6085
{
@@ -109,31 +134,4 @@ public function that_article_get_unpublished_and_total_number_of_unpublished_get
109134

110135
$this->assertEquals($articles->count(), 6);
111136
}
112-
113-
private function seedUnpublishedArticles($num = 15)
114-
{
115-
factory(Article::class, $num)->create([
116-
'user_id' => $this->user->id,
117-
'published' => false,
118-
]);
119-
}
120-
121-
private function seedPublishedArticles($num = 5)
122-
{
123-
factory(Article::class, $num)->create([
124-
'user_id' => $this->user->id,
125-
'published' => true,
126-
]);
127-
}
128-
129-
private function createAdminUser()
130-
{
131-
return User::create([
132-
'name' => 'Moeen Basra',
133-
'email' => '[email protected]',
134-
'password' => bcrypt('secret'),
135-
'is_admin' => true,
136-
'remember_token' => str_random(10),
137-
]);
138-
}
139137
}

0 commit comments

Comments
 (0)