public function testSoftDelete() { Soft::create(array('name' => 'John Doe')); Soft::create(array('name' => 'Jane Doe')); $this->assertEquals(2, Soft::count()); $user = Soft::where('name', 'John Doe')->first(); $this->assertEquals(true, $user->exists); $this->assertEquals(false, $user->trashed()); $this->assertNull($user->deleted_at); $user->delete(); $this->assertEquals(true, $user->trashed()); $this->assertNotNull($user->deleted_at); $user = Soft::where('name', 'John Doe')->first(); $this->assertNull($user); $this->assertEquals(1, Soft::count()); $this->assertEquals(2, Soft::withTrashed()->count()); $user = Soft::withTrashed()->where('name', 'John Doe')->first(); $this->assertNotNull($user); $this->assertInstanceOf('Carbon\\Carbon', $user->deleted_at); $this->assertEquals(true, $user->trashed()); $user->restore(); $this->assertEquals(2, Soft::count()); }