/** * Test that the "slugged" event is fired. * * @todo Figure out how to accurately test Eloquent model events */ public function testSluggedEvent() { $this->markTestIncomplete('Event tests are not yet reliable.'); $post = Post::create(['title' => 'My Test Post']); $this->assertEquals('my-test-post', $post->slug); $this->assertEquals('I have been slugged!', $post->subtitle); }
/** * Test that we generate unique slugs in a static context. * * @test */ public function testStaticSlugGeneratorWhenEntriesExist() { $post = Post::create(['title' => 'My Test Post']); $this->assertEquals('my-test-post', $post->slug); $slug = SlugService::createSlug(Post::class, 'slug', 'My Test Post'); $this->assertEquals('my-test-post-1', $slug); }
/** * Test that the slug is regenerated if the field is emptied manually. * * @test */ public function testSlugDoesChangeWhenEmptiedManually() { $post = Post::create(['title' => 'My First Post']); $post->save(); $this->assertEquals('my-first-post', $post->slug); $post->slug = null; $post->update(['title' => 'A New Title']); $this->assertEquals('a-new-title', $post->slug); }
/** * Test uniqueness after deletion. * * @test */ public function testUniqueAfterDelete() { $post1 = Post::create(['title' => 'A post title']); $this->assertEquals('a-post-title', $post1->slug); $post2 = Post::create(['title' => 'A post title']); $this->assertEquals('a-post-title-1', $post2->slug); $post1->delete(); $post3 = Post::create(['title' => 'A post title']); $this->assertEquals('a-post-title', $post3->slug); }
/** * Test that models aren't *re*slugged if the slug field is defined (issue #32) * * @test */ public function testDoesNotNeedSluggingWithUpdateWhenSlugIsSet() { $post = Post::create(['title' => 'My first post', 'slug' => 'custom-slug']); $this->assertEquals('custom-slug', $post->slug); $post->title = 'A New Title'; $post->save(); $this->assertEquals('custom-slug', $post->slug); $post->title = 'A Another New Title'; $post->slug = 'new-custom-slug'; $post->save(); $this->assertEquals('new-custom-slug', $post->slug); }
/** * Test subscript characters in slug field */ public function testSubscriptCharacters() { $post = new Post(['title' => 'RDA-125-15/30/45m³/h CAV']); $post->save(); $this->assertEquals('rda-125-15-30-45m3-h-cav', $post->slug); }