Exemplo n.º 1
0
        public async Task SubmitCalculatePriceRequest_RecievesSuccessfullResponse_ReturnsNewPriceResponse()
        {
            var fakeHttpResponse = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content = new StringContent(JsonConvert.SerializeObject(new
                {
                    price = 100.00,
                }), Encoding.UTF8, "application/json"),
            };

            var fakeHttpMessageHandler = new FakeHttpMessageHandler(fakeHttpResponse);
            var fakeHttpClient = new HttpClient(fakeHttpMessageHandler);
            var uut = new AzureApiService(fakeHttpClient, _fakeSessionService);

            var response = await uut.SubmitCalculatePriceRequest(_fakeCalculatePriceRequest);

            Assert.Multiple(() =>
            {
                Assert.That(response, Is.Not.Null);
                Assert.That(response, Is.TypeOf<PriceResponse>());
                Assert.That(response.Body, Is.Not.Null);
                Assert.That(response.Body, Is.TypeOf<PriceResponse.PriceResponseBody>());
            });
        }
Exemplo n.º 2
0
        public async Task SubmitCalculatePriceRequest_ReceivesBadRequestResponse_ReturnsError()
        {
            var fakeHttpResponse = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.BadRequest,
                Content = new StringContent(JsonConvert.SerializeObject(new
                {
                    errors = new Dictionary<string, IList<string>>() {
                        { "error", new List<string>() { "Address not valid" } }
                    },

                }), Encoding.UTF8, "application/json"),
            };

            var fakeHttpMessageHandler = new FakeHttpMessageHandler(fakeHttpResponse);
            var fakeHttpClient = new HttpClient(fakeHttpMessageHandler);
            var uut = new AzureApiService(fakeHttpClient, _fakeSessionService);

            var response = await uut.SubmitCalculatePriceRequest(_fakeCalculatePriceRequest);

            Assert.Multiple(() =>
            {
                Assert.That(response, Is.Not.Null);
                Assert.That(response, Is.TypeOf<PriceResponse>());
                Assert.That(response.Body, Is.Not.Null);
                Assert.That(response.Body, Is.TypeOf<PriceResponse.PriceResponseBody>());
                Assert.That(response.GetErrors().Count, Is.EqualTo(1));
            });
        }
Exemplo n.º 3
0
        public async Task SubmitCreateRideRequest_ReceivesSuccessfullResponse_ReturnsNewCreateRideResponse()
        {
            var fakeHttpResponse = new HttpResponseMessage()
            {
                StatusCode = HttpStatusCode.OK,
                Content = new StringContent(JsonConvert.SerializeObject(new
                {
                    id = 1,
                    startDestination = new { cityName = "Test", postalCode = 1234, streetName = "Tester", streetNumber = 1 },
                    endDestination = new { cityName = "Tester", postalCode = 4321, streetName = "Test", streetNumber = 2 },
                    departureTime = DateTime.Now.Add(new TimeSpan(0, 0, 30)),
                    confirmationDeadline = DateTime.Now.Subtract(new TimeSpan(0, 2, 0)),
                    passengerCount = 1,
                    createdOn = DateTime.Now,
                    price = 100,
                    status = 0,
                }),Encoding.UTF8,"application/json"),
            };

            var fakeHttpMessageHandler = new FakeHttpMessageHandler(fakeHttpResponse);
            var fakeHttpClient=new HttpClient(fakeHttpMessageHandler);
            var uut = new AzureApiService(fakeHttpClient,_fakeSessionService);

            var response = await uut.SubmitCreateRideRequest(_fakeCreateRideRequest);

            Assert.Multiple(() =>
            {
                Assert.That(response,Is.Not.Null);
                Assert.That(response,Is.TypeOf<CreateRideResponse>());
                Assert.That(response.Body,Is.Not.Null);
                Assert.That(response.Body, Is.TypeOf<CreateRideResponse.CreateRideResponseBody>());
            });
        }
Exemplo n.º 4
0
        public void SetUp()
        {
            _fakeCreateCustomerRequest = Substitute.For<ICreateCustomerRequest>();
            _fakeLoginRequest = Substitute.For<ILoginRequest>();
            _fakeSessionService = Substitute.For<ISessionService>();

            _fakeHttpMessageHandler = new FakeHttpMessageHandler();
            _fakeHttpClient = new HttpClient(_fakeHttpMessageHandler);

            _uut = new AzureApiService(_fakeHttpClient, _fakeSessionService);
            _fakeCalculatePriceRequest = Substitute.For<ICalculatePriceRequest>();
            _fakeCreateRideRequest = Substitute.For<ICreateRideRequest>();
        }