public function testGetTimelineSuccess() { $this->setUpRating(); $this->setUpCountry(); $this->setUpWineNote(); $this->setUpProfile(); $_params = $this->_params; $_params['user_id'] = "user_id"; $response = $this->_getAuth($_params); $error_code = ApiResponse::OK; $user_timeline = array(); $user_timeline[] = $this->_user_id; $user_follow = Follow::where('from_id', $this->_user_id)->orderBy('updated_at', 'asc')->get(); if (isset($user_follow)) { foreach ($user_follow as $user) { $user_timeline[] = $user->to_id; } } $pagination = ApiResponse::pagination(); $page = $pagination['page']; $limit = $pagination['limit']; $wine = Wine::with('winery')->forPage($page, $limit)->get(); $ratings = Rating::whereIn('user_id', $user_timeline)->whereNotNull('wine_unique_id')->with('profile')->with('wine')->forPage($page, $limit)->get(); foreach ($ratings as $rating) { $winery = Winery::where('id', $rating->wine->winery_id)->first(); $rating->winery = $winery; $country = Country::where('id', $rating->winery->country_id)->first(); $rating->winery->country_name = $country->country_name; $like = Like::where('user_id', $this->_user_id)->where('rating_id', $rating->id)->first(); if ($like) { $rating->liked = true; } else { $rating->liked = false; } $wishlist = Wishlist::where('user_id', $this->_user_id)->where('wine_unique_id', $rating->wine_unique_id)->first(); if ($wishlist) { $rating->wishlist = true; } else { $rating->wishlist = false; } if ($rating->wine->image_url != null) { $rating->wine->image_url = URL::asset($rating->wine->image_url); } if ($rating->wine->wine_flag != null) { $rating->wine->wine_flag = URL::asset($rating->wine->wine_flag); } if ($rating->profile->image != null) { $rating->profile->image = URL::asset($rating->profile->image); } $rating->winery = $rating->winery->toArray(); } $data = $ratings; $this->assertEquals(array("code" => ApiResponse::OK, "data" => $ratings->toArray()), json_decode($response->getContent(), true)); }
public static function deleteWishlist($wine_unique_id) { $user_id = Session::get('user_id'); $error_code = ApiResponse::OK; $wishlist = Wishlist::where('user_id', $user_id)->where('wine_unique_id', $wine_unique_id)->first(); if ($wishlist) { $wishlist->delete(); $data = 'wine in wishlist is deleted'; } else { $error_code = ApiResponse::NOT_EXISTED_WINE_WISHLIST; $data = ApiResponse::getErrorContent(ApiResponse::NOT_EXISTED_WINE_WISHLIST); } return array("code" => $error_code, "data" => $data); }
public function testGetListWishlistSuccess() { $response = $this->call('GET', 'api/wishlist'); $wishlist_infor = Wishlist::all(); $pagination = ApiResponse::pagination(); $page = $pagination['page']; $limit = $pagination['limit']; $wishlist_infor = Wishlist::where('user_id', $this->_user_id)->with('wine')->forPage($page, $limit)->get(); foreach ($wishlist_infor as $wishlists) { $wishlists->winery = Winery::where('id', $wishlists->wine->winery_id)->first()->toArray(); if ($wishlists->wine->image_url != null) { $wishlists->wine->image_url = URL::asset($wishlists->wine->image_url); } if ($wishlists->wine->wine_flag != null) { $wishlists->wine->wine_flag = URL::asset($wishlists->wine->wine_flag); } } $this->assertEquals(array("code" => ApiResponse::OK, "data" => $wishlist_infor->toArray()), json_decode($response->getContent(), true)); }
public static function getActivity() { $user_id = Session::get('user_id'); $error_code = ApiResponse::OK; $act = array(); $ratings = Rating::where('user_id', $user_id)->get(); foreach ($ratings as $rating) { $likes = Like::where('rating_id', $rating->id)->whereNotIn('user_id', [$user_id])->get(); if ($likes) { $title = 'like'; foreach ($likes as $like) { $act[] = Rating::getProfile($like->user_id, $title, $like->id, $rating->id, $like->updated_at); } } $comments = Comment::where('rating_id', $rating->id)->whereNotIn('user_id', [$user_id])->get(); if ($comments) { $title = 'comment'; foreach ($comments as $comment) { $act[] = Rating::getProfile($comment->user_id, $title, $comment->id, $rating->id, $comment->updated_at); } } $wishlists = Wishlist::where('wine_unique_id', $rating->wine_unique_id)->whereNotIn('user_id', [$user_id])->get(); if ($wishlists) { $title = 'wishlist'; foreach ($wishlists as $wishlist) { $act[] = Rating::getProfile($wishlist->user_id, $title, $wishlist->id, $rating->id, $wishlist->updated_at); } } } $user_follow = Follow::where('to_id', $user_id)->get(); if ($user_follow) { $title = 'follow'; foreach ($user_follow as $user) { $act[] = Rating::getProfile($user->from_id, $title, $user->id, null, $user->updated_at); } } $data = Rating::orderBy($act, 'updated_at'); return array("code" => $error_code, "data" => $data); }
public static function getProfileWishlistUser($user_id) { $error_code = ApiResponse::OK; $pagination = ApiResponse::pagination(); if ($pagination == false) { $error_code = ApiResponse::URL_NOT_EXIST; $data = ApiResponse::getErrorContent(ApiResponse::URL_NOT_EXIST); } else { $page = $pagination['page']; $limit = $pagination['limit']; if (User::where('user_id', $user_id)->first()) { $profile = Profile::where('user_id', $user_id)->first(); if ($profile->image != null) { $profile->image = URL::asset($profile->image); } $wishlists = Wishlist::where('user_id', $user_id)->with('wine')->forPage($page, $limit)->get(); if (count($wishlists) == 0) { $data = array(); } else { foreach ($wishlists as $wishlist) { $wishlist->winery = Winery::where('id', $wishlist->wine->winery_id)->first(); if ($wishlist->wine->image_url != null) { $wishlist->wine->image_url = URL::asset($wishlist->wine->image_url); } if ($wishlist->wine->wine_flag != null) { $wishlist->wine->wine_flag = URL::asset($wishlist->wine->wine_flag); } } $data = $wishlists->toArray(); } } else { $error_code = ApiResponse::UNAVAILABLE_USER; $data = ApiResponse::getErrorContent(ApiResponse::UNAVAILABLE_USER); } } return array("code" => $error_code, "data" => $data); }
public static function searchWinefromMywine($input) { $error_code = ApiResponse::OK; $wine_unique_id = array(); $data = array(); $user_id = Session::get('user_id'); if (!empty($input['text'])) { $text = $input['text']; $ratings = Rating::where('user_id', $user_id)->where('is_my_wine', 1)->get(); if ($ratings) { foreach ($ratings as $rating) { $wine_unique_id[] = $rating->wine_unique_id; } if ($wine_unique_id != null) { $wishlists = Wishlist::where('user_id', $user_id)->whereNotIn('wine_unique_id', $wine_unique_id)->get(); } else { $wishlists = Wishlist::where('user_id', $user_id)->get(); } if ($wishlists) { foreach ($wishlists as $wishlist) { $wine_unique_id[] = $wishlist->wine_unique_id; } } } if ($wine_unique_id != null) { $wines = Wine::where('name', 'LIKE', '%' . $text . '%')->whereIn('wine_unique_id', $wine_unique_id)->with('winery')->get(); if ($wines) { foreach ($wines as $wine) { if ($wine->image_url != null) { $wine->image_url = URL::asset($wine->image_url); } if ($wine->wine_flag != null) { $wine->wine_flag = URL::asset($wine->wine_flag); } $data[] = $wine; } } } } else { $error_code = ApiResponse::MISSING_PARAMS; $data = $input; } return array("code" => $error_code, "data" => $data); }
public function testGetProfileWishlishNoWishlist() { $user_id = $this->_user_id; $response = $this->action('GET', 'ProfileController@get_profile_wishlist_user', array('user_id' => $user_id)); $wishlist = Wishlist::where('user_id', $user_id)->with('wine')->get(); $this->assertEquals(array("code" => ApiResponse::OK, "data" => $wishlist->toArray()), json_decode($response->getContent(), true)); }
public function testSearchWineSuccess() { $data = array(); $_params = $this->_params; $response = $this->action('POST', 'WineController@search', array(), array('data' => json_encode($_params))); $user_id = $this->_user_id; $wine = Wine::where('name', 'LIKE', '%wi%')->with('winery')->get(); if ($wine) { foreach ($wine as $wines) { if ($wines->image_url != null) { $wines->image_url = URL::asset($wines->image_url); } if ($wines->wine_flag != null) { $wines->wine_flag = URL::asset($wines->wine_flag); } $ratings = Rating::where('user_id', $user_id)->where('wine_unique_id', $wines->wine_unique_id)->where('is_my_wine', 1)->first(); if ($ratings) { $data[] = $wines; } else { $wishlist = Wishlist::where('user_id', $user_id)->where('wine_unique_id', $wines->wine_unique_id)->first(); if ($wishlist) { $data[] = $wines; } } } } $this->assertEquals(array("code" => ApiResponse::OK, "data" => $data), json_decode($response->getContent(), true)); }