Esempio n. 1
0
        public async Task AddToBasket_ShouldReturnSuccessfully()
        {
            var requestModel = new AddToBasketRequestModel()
            {
                ProductId = 1,
                Quantity  = 1,
                CityId    = 1
            };

            var response = await _client.PostAsJsonAsync("basket/addtobasket", requestModel, JsonSerializerHelper.DefaultSerialisationOptions);

            var responseModel = await response.Content.ReadFromJsonAsync <ApiResponseModel <bool, AddToBasketReturnTypes> >();

            Assert.True(responseModel.IsSuccess);
            Assert.Equal(AddToBasketReturnTypes.Success, responseModel.ResponseCode);
        }
Esempio n. 2
0
        public async Task <ApiResponseModel <bool, AddToBasketReturnTypes> > AddToBasket([FromBody] AddToBasketRequestModel requestModel)
        {
            // Ürünün Basket'e eklenmesi bu metot ile gerçekleştirilmektedir
            // Burada girilen Şehir-Adet-Ürün bilgilerine göre Stock Şehir'de var mı, Min-Max Order Quantity'e uyuyor mu ve mevcut Stock var mı diye kontrol ederek
            // sepete başarı ile ekler ya da warning döner
            // Stock başarılı dönüş verirse Basket'e ekleme ve üründe Stock indirme işlemleri gerçekleştirilir
            // Kullanıcı için aktif bir Basket yok ise, bu işlemler sırasında yeni Basket oluşturulur

            var requestDto = _mapper.Map <AddToBasketRequestDto>(requestModel);
            var data       = await _basketService.AddToBasket(CurrentUserId, requestDto);

            return(new ApiResponseModel <bool, AddToBasketReturnTypes>()
            {
                IsSuccess = data.IsSuccess,
                ResponseCode = data.ResponseCode,
                ResponseMessage = data.ResponseMessage
            });
        }