/** * User page (get). * * @Get("user/{user}", as="memo.user") * * @param string $user * * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View */ public function getUser($user) { $tmp = $this->memo->where('user_sn', $user); $memos = $tmp->orderBy('id', 'desc')->paginate(10); $count = $tmp->count(); return view('memos.user', compact('memos', 'user', 'count')); }
/** * @dataProvider userDataProvider * * @param string $sn */ public function testUser($sn) { $tmp = $this->memo->where('user_sn', $sn); $memos = $tmp->orderBy('id', 'desc')->paginate(10); $count = $tmp->count(); foreach ($memos as $memo) { $this->visit("/memo/user/{$memo->user_sn}")->see("@{$memo->user_sn}のメモ")->see("https://twitter.com/{$memo->user_sn}")->see($count)->see($memo->created_at->format(dateFormat()))->see($memo->user_sn)->see(autoLink($memo->content))->seeInfo()->assertResponseOk(); if ($count > 10) { $this->see("/memo/user/{$memo->user_sn}"); } } }
/** * Create sitemap data. * * @return array */ protected function createSiteMapData() { $data = []; $pasteBin = new M\PasteBin(); $last = $pasteBin->orderBy('id')->get()->last(); $data[] = ['loc' => '/pastebin', 'lastmod' => $last->created_at->format('Y-m-d'), 'changefreq' => 'monthly', 'priority' => '0.7']; $all = $pasteBin->select(['hash', 'created_at'])->where('protect', '=', false)->get(); foreach ($all as $p) { $data[] = ['loc' => "/pastebin/show/{$p->hash}", 'lastmod' => $p->created_at->format('Y-m-d'), 'changefreq' => 'never', 'priority' => '0.4']; } $memo = new M\Memo(); $last = $memo->orderBy('id')->get()->last(); $data[] = ['loc' => '/memo', 'lastmod' => $last->created_at->format('Y-m-d'), 'changefreq' => 'monthly', 'priority' => '0.7']; foreach ($memo->select(['id', 'created_at'])->get() as $m) { $data[] = ['loc' => "/memo/show/{$m->id}", 'lastmod' => $m->created_at->format('Y-m-d'), 'changefreq' => 'never', 'priority' => '0.4']; } foreach ($memo->select('user_sn')->distinct()->get() as $m) { $updated_at = $memo->where('user_sn', '=', $m->user_sn)->get()->last()->updated_at; $data[] = ['loc' => "/memo/user/{$m->user_sn}", 'lastmod' => $updated_at->format('Y-m-d'), 'changefreq' => 'monthly', 'priority' => '0.4']; } return $data; }