Example #1
0
 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));
 }
Example #2
0
 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);
 }
Example #3
0
 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));
 }
Example #4
0
 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);
 }
Example #5
0
 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);
 }
Example #6
0
 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);
 }
Example #7
0
 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));
 }
Example #8
0
 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));
 }