예제 #1
0
        public async Task Get_With_Correct_Auth_Token_Should_Return_Ok_Status()
        {
            //arrange
            var expected   = HttpStatusCode.OK;
            var httpClient = factory.CreateClient();
            var token      = await UserFactory.AuthenticateUser(httpClient, "*****@*****.**", "1qaz@WSX");

            httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");

            //act
            var response = await httpClient.GetAsync(baseEndpoint);

            // assert
            response.StatusCode.Should().Be(expected);
        }
예제 #2
0
//        [Fact]
        public async Task AddOrder_Should_Correctly_Add_Order_For_Non_Charm_Product_Without_Discounts()
        {
            // arrange
            var shipment = await GetShipmentForTest();

            var product = await GetNonCharmProductForTest();

            var httpClient                    = factory.CreateClient();
            var expectedOrderPrice            = 35;
            var expectedOrderPriceAndShipment = 35 + shipment.Price;

            var token = await UserFactory.AuthenticateUser(httpClient, "*****@*****.**", "1qaz@WSX");

            httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");
            var addOrderCommand = new AddOrderCommandModel
            {
                ShipmentId = shipment.Id,
                Address    = new NewAddressDto
                {
                    City = "NY", Country = "USA", PhoneNumber = 123456789, PostCode = "234-987", Street = "Main"
                },
                Products = new List <ProductWithCharmsOrderDto>
                {
                    new ProductWithCharmsOrderDto
                    {
                        Amount = 1, ProductId = product.Id
                    }
                }
            };

            // act
            var result = await httpClient.PostAsJsonAsync(baseEndpoint, addOrderCommand);

            var content = await result.Content.ReadAsStringAsync();

            if (!result.IsSuccessStatusCode)
            {
                output.WriteLine(content);
            }
            var newId    = JsonConvert.DeserializeObject <NewOrderDto>(content);
            var newOrder = await GetOrder(newId.Id);

            // assert
            newOrder.BasePrice.Should().Be(expectedOrderPrice);
            newOrder.Address.Should().NotBe(null);
            newOrder.ProductOrders.Count().Should().Be(1);
            (newOrder.FinalPrice + newOrder.ShipmentPrice).Should().Be(expectedOrderPriceAndShipment);
        }