Ejemplo n.º 1
0
        public void Run()
        {
            Console.WriteLine("*****START ACHIEVEMENTS TEST*****");

            Console.WriteLine("Get all the badges (achieved/unachieved) for user");
            SensoriaApiResult <IEnumerable <Achievement> > resultGetBadges = GetBadges(user.UserId);

            Trace.Assert(resultGetBadges.StatusCode == System.Net.HttpStatusCode.OK, "FAILURE: No badges exist");
            Trace.Assert(resultGetBadges.APIResult.Count() > 0);
            Console.WriteLine("Badges Exists - Correct");

            Console.WriteLine("Get all the PRs (achieved/unachieved) for user");
            SensoriaApiResult <IEnumerable <Achievement> > resultPersonalRecords = GetPersonalRecords(user.UserId);

            Trace.Assert(resultPersonalRecords.StatusCode == System.Net.HttpStatusCode.OK, "FAILURE: No Personal Records exists");
            Trace.Assert(resultPersonalRecords.APIResult.Count() > 0);
            Console.WriteLine("Personal Records Exixts - Correct");

            Console.WriteLine("Get all achieved most recent badges for user");
            SensoriaApiResult <IEnumerable <Achievement> > recentBadges = GetRecentBadges(user.UserId);

            Trace.Assert(recentBadges.StatusCode == System.Net.HttpStatusCode.OK, "FAILURE: No badges exist");
            Trace.Assert(recentBadges.APIResult.Count() > 0);
            Console.WriteLine("Recent Badges Fetched - Correct");
        }
        public SensoriaApiResult <T> PostSensoriaApiResult(object body)
        {
            HttpClient client = CreateClient();

            HttpResponseMessage   response = client.PostAsJsonAsync(Url, body).Result;
            SensoriaApiResult <T> result   = response.Content.ReadAsAsync <SensoriaApiResult <T> >().Result;

            return(result);
        }
        public SensoriaApiResult <T> GetSensoriaApiResult()
        {
            HttpClient client = CreateClient();

            HttpResponseMessage response;

            response = client.GetAsync(Url).Result;

            SensoriaApiResult <T> result = response.Content.ReadAsAsync <SensoriaApiResult <T> >().Result;

            return(result);
        }
Ejemplo n.º 4
0
        public void Run()
        {
            //Get the list of shoes in the user Shoe Closet
            Console.WriteLine("****** SHOE DETAILS TEST ******");

            SensoriaApiResult <ProductDetailsSearchItem> resultGetShoeDetails = GetShoeDetails(1);

            Trace.Assert(resultGetShoeDetails.IsSuccess == true);
            Trace.Assert(resultGetShoeDetails.APIResult != null);
            Trace.Assert(resultGetShoeDetails.APIResult.Id != null);
            Trace.Assert(resultGetShoeDetails.APIResult.Name != null);
            Trace.Assert(resultGetShoeDetails.APIResult.BrandName != null);

            Console.WriteLine("Get Shoe Details correctly done");
        }
Ejemplo n.º 5
0
        public void Run()
        {
            //Get the list of shoes in the user Shoe Closet
            Console.WriteLine("****** SHOE CLOSET TEST ******");

            SensoriaApiResult <Closet> resultGetShoeCloset = GetShoeCloset();

            Trace.Assert(resultGetShoeCloset.IsSuccess == true);
            Trace.Assert(resultGetShoeCloset.APIResult != null);
            Console.WriteLine("Get ShoeCloset correctly done");

            #region Adds a ShoeClosetItem (a shoe) to the user Shoe Closet
            ClosetItem sItem = new ClosetItem();
            sItem.ProductName = "adissage";
            sItem.ProductId   = 77;
            sItem.ImageUrl    = "https://secure-www.zappos.com/images/717/7172500/7768-31862-5.jpg";
            sItem.BrandName   = "adidas";
            sItem.UserId      = user.UserId;
            SensoriaApiResult <ClosetItem> apireturn = AddNewShoe(sItem);
            int newShoeClosetItemId = apireturn.APIResult.Id;
            Trace.Assert(apireturn.IsSuccess);
            Trace.Assert(apireturn.APIResult.Owned == true);
            Trace.Assert(apireturn.StatusCode == System.Net.HttpStatusCode.Created);
            Trace.Assert(newShoeClosetItemId > 0);
            Console.WriteLine("ShoeClosetItem correctly added to the user's shoe closet");
            #endregion

            #region Retrieve the shoe closet
            SensoriaApiResult <Closet> resultGetNewShoeClosetItem = GetShoeCloset(newShoeClosetItemId);
            Trace.Assert(resultGetNewShoeClosetItem.IsSuccess == true);
            Trace.Assert(resultGetNewShoeClosetItem.APIResult.ClosetItems.Count == 1);
            Trace.Assert(resultGetNewShoeClosetItem.APIResult.ClosetItems[0].ProductId == sItem.ProductId);
            Trace.Assert(resultGetNewShoeClosetItem.APIResult.ClosetItems[0].UserId == user.UserId);
            Console.WriteLine("Retrieved the inserted shoe from shoecloset");
            #endregion

            #region Edit two properties (Price amd RateSizeFit) of the previously added ShoeClosetItem
            sItem             = resultGetNewShoeClosetItem.APIResult.ClosetItems[0];
            sItem.Recommend   = true;
            sItem.RateComfort = 4;
            SensoriaApiResult <ClosetItem> editcall = EditShoeDetails(sItem);
            Trace.Assert(editcall.IsSuccess);
            #endregion

            #region Retrieve again the updated ShoeClosetItem and verify the updated values
            SensoriaApiResult <Closet> resultGetShoeClosetItem = GetShoeCloset(newShoeClosetItemId);
            Trace.Assert(resultGetShoeClosetItem.IsSuccess == true);
            Trace.Assert(resultGetShoeClosetItem.APIResult.ClosetItems.Count == 1);
            Trace.Assert(resultGetShoeClosetItem.APIResult.ClosetItems[0].Recommend == sItem.Recommend);
            Trace.Assert(resultGetShoeClosetItem.APIResult.ClosetItems[0].RateComfort == sItem.RateComfort);
            Console.WriteLine("Recommend amd RateComfort properties of the shoe has been correctly modified");
            #endregion

            #region Replace the updated ShoeClosetItem
            ClosetItem sItem2 = resultGetShoeClosetItem.APIResult.ClosetItems[0];
            SensoriaApiResult <ClosetItem> resultReplacedItem = ReplaceShoe(sItem2);
            int replacedItemId = resultReplacedItem.APIResult.Id;
            Trace.Assert(resultReplacedItem.IsSuccess == true);
            Console.WriteLine("The new ShoeClosetItem has been correctly replaced in the user's shoe closet");
            #endregion

            #region Retire the previously replaced ShoeClosetItem
            SensoriaApiResult <ClosetItem> resultRetireItem = RetireShoe(resultReplacedItem.APIResult);
            Trace.Assert(resultRetireItem.IsSuccess == true);
            Console.WriteLine("The replaced ShoeClosetItem has been correctly retired from the user's shoe closet");
            #endregion

            #region Edit RetiredDate (set back to null) property of the previously retired ShoeClosetItem
            int retiredItemId = resultRetireItem.APIResult.Id;
            SensoriaApiResult <Closet> resultRetiredItem = GetShoeCloset(retiredItemId);
            ClosetItem sretiredItem = resultRetiredItem.APIResult.ClosetItems[0];
            sretiredItem.RetiredDate = null;
            SensoriaApiResult <ClosetItem> editRetiredItem = EditShoeDetails(sretiredItem);
            Trace.Assert(editRetiredItem.IsSuccess);
            Console.WriteLine("The retired ShoeClosetItem has been correctly un-retired to the user's shoe closet");
            #endregion

            #region Delete the unretired ShoeClosetItem
            SensoriaApiResult <bool> deleteCall = DeleteShoe(retiredItemId);
            Trace.Assert(deleteCall.IsSuccess);
            Console.WriteLine("The unretired ShoeClosetItem has been correctly deleted from the user's shoe closet");
            #endregion

            #region Delete the ShoeClosetItem initially created in the shoeCloset
            SensoriaApiResult <bool> deleteCall2 = DeleteShoe(newShoeClosetItemId);
            Trace.Assert(deleteCall2.IsSuccess);
            Console.WriteLine("The ShoeClosetItem initially created has been correctly deleted from the user's shoe closet");
            #endregion

            #region Adds a ShoeClosetItem to the user WhishList
            ClosetItem sItemWL = new ClosetItem();
            sItemWL.ProductName = "adissage";
            sItemWL.ProductId   = 77;
            sItemWL.ImageUrl    = "https://secure-www.zappos.com/images/717/7172500/7768-31862-5.jpg";
            sItemWL.BrandName   = "adidas";
            sItemWL.UserId      = user.UserId;
            sItemWL.Owned       = false;
            SensoriaApiResult <ClosetItem> apiWLreturn = AddNewShoe(sItemWL);
            int newShoeWishListItemId = apiWLreturn.APIResult.Id;
            Trace.Assert(apiWLreturn.IsSuccess);
            Trace.Assert(apiWLreturn.StatusCode == System.Net.HttpStatusCode.Created);
            Trace.Assert(newShoeWishListItemId > 0);
            Trace.Assert(apiWLreturn.APIResult.Owned == false);
            Console.WriteLine("ShoeClosetItem correctly added to the user's wishlist");
            #endregion

            #region Retrieve the Shoe Wishlist
            SensoriaApiResult <Closet> resultGetWishList = GetShoeCloset(newShoeWishListItemId);
            Trace.Assert(resultGetWishList.IsSuccess == true);
            Trace.Assert(resultGetWishList.APIResult.ClosetItems.Count == 1);
            Trace.Assert(resultGetWishList.APIResult.ClosetItems[0].ProductId == sItemWL.ProductId);
            Trace.Assert(resultGetWishList.APIResult.ClosetItems[0].UserId == user.UserId);
            Console.WriteLine("Retrieved the inserted shoe from WishList");
            #endregion

            #region Delete the ShoeClosetItem initially created in the Shoe WishList
            SensoriaApiResult <bool> deleteShoeFromWL = DeleteShoe(newShoeWishListItemId);
            Trace.Assert(deleteShoeFromWL.IsSuccess);
            Console.WriteLine("The ShoeClosetItem initially created has been correctly deleted from the user's wishlist");
            #endregion

            #region Finally GetShoeCloset
            SensoriaApiResult <Closet> lastGetShoeCloset = GetShoeCloset();
            Trace.Assert(lastGetShoeCloset.IsSuccess == true);
            Trace.Assert(lastGetShoeCloset.APIResult != null);
            Console.WriteLine("Last Get ShoeCloset correctly done");
            #endregion
        }