public async Task RideRequestListQuery_Returns_Sorted_RideRequest_RideType_List_In_Desc_Order()
        {
            //Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();
            var fakeRideRequestTwo = new FakeRideRequest {
            }.Generate();

            fakeRideRequestOne.RideType = "bravo";
            fakeRideRequestTwo.RideType = "alpha";
            var queryParameters = new RideRequestParametersDto()
            {
                SortOrder = "RideType"
            };

            await InsertAsync(fakeRideRequestOne, fakeRideRequestTwo);

            //Act
            var query        = new RideRequestListQuery(queryParameters);
            var rideRequests = await SendAsync(query);

            // Assert
            rideRequests
            .FirstOrDefault()
            .Should().BeEquivalentTo(fakeRideRequestTwo, options =>
                                     options.ExcludingMissingMembers());
            rideRequests
            .Skip(1)
            .FirstOrDefault()
            .Should().BeEquivalentTo(fakeRideRequestOne, options =>
                                     options.ExcludingMissingMembers());
        }
        public async Task UpdateRideRequestCommand_Updates_Existing_RideRequest_In_Db()
        {
            // Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();
            var updatedRideRequestDto = new FakeRideRequestForUpdateDto {
            }.Generate();

            await InsertAsync(fakeRideRequestOne);

            var rideRequest = await ExecuteDbContextAsync(db => db.RideRequests.SingleOrDefaultAsync());

            var rideRequestId = rideRequest.RideRequestId;

            // Act
            var command = new UpdateRideRequestCommand(rideRequestId, updatedRideRequestDto);

            await SendAsync(command);

            var updatedRideRequest = await ExecuteDbContextAsync(db => db.RideRequests.Where(r => r.RideRequestId == rideRequestId).SingleOrDefaultAsync());

            // Assert
            updatedRideRequest.Should().BeEquivalentTo(updatedRideRequestDto, options =>
                                                       options.ExcludingMissingMembers());
        }
        public async Task RideRequestListQuery_Filters_RideRequest_IsEco()
        {
            //Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();
            var fakeRideRequestTwo = new FakeRideRequest {
            }.Generate();

            fakeRideRequestOne.IsEco = false;
            fakeRideRequestTwo.IsEco = true;
            var queryParameters = new RideRequestParametersDto()
            {
                Filters = $"IsEco == {fakeRideRequestTwo.IsEco}"
            };

            await InsertAsync(fakeRideRequestOne, fakeRideRequestTwo);

            //Act
            var query        = new RideRequestListQuery(queryParameters);
            var rideRequests = await SendAsync(query);

            // Assert
            rideRequests.Should().HaveCount(1);
            rideRequests
            .FirstOrDefault()
            .Should().BeEquivalentTo(fakeRideRequestTwo, options =>
                                     options.ExcludingMissingMembers());
        }
        public async Task PatchRideRequestCommand_Updates_Existing_RideRequest_In_Db()
        {
            // Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();

            await InsertAsync(fakeRideRequestOne);

            var rideRequest = await ExecuteDbContextAsync(db => db.RideRequests.SingleOrDefaultAsync());

            var rideRequestId = rideRequest.RideRequestId;

            var patchDoc = new JsonPatchDocument <RideRequestForUpdateDto>();
            var newValue = "Easily Identified Value For Test";

            patchDoc.Replace(r => r.RideType, newValue);

            // Act
            var command = new PatchRideRequestCommand(rideRequestId, patchDoc);

            await SendAsync(command);

            var updatedRideRequest = await ExecuteDbContextAsync(db => db.RideRequests.Where(r => r.RideRequestId == rideRequestId).SingleOrDefaultAsync());

            // Assert
            updatedRideRequest.RideType.Should().Be(newValue);
        }
Exemplo n.º 5
0
        public async Task Delete_RideRequestReturns_NoContent()
        {
            // Arrange
            var fakeRideRequest = new FakeRideRequest {
            }.Generate();

            await InsertAsync(fakeRideRequest);

            // Act
            var route  = ApiRoutes.RideRequests.Delete.Replace(ApiRoutes.RideRequests.RideRequestId, fakeRideRequest.RideRequestId.ToString());
            var result = await _client.DeleteRequestAsync(route);

            // Assert
            result.StatusCode.Should().Be(204);
        }
Exemplo n.º 6
0
        public async Task Create_RideRequest_Returns_Created()
        {
            // Arrange
            var fakeRideRequest = new FakeRideRequest {
            }.Generate();

            await InsertAsync(fakeRideRequest);

            // Act
            var route  = ApiRoutes.RideRequests.Create;
            var result = await _client.PostJsonRequestAsync(route, fakeRideRequest);

            // Assert
            result.StatusCode.Should().Be(201);
        }
        public async Task RideRequestQuery_Returns_Resource_With_Accurate_Props()
        {
            // Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();

            await InsertAsync(fakeRideRequestOne);

            // Act
            var query = new RideRequestQuery(fakeRideRequestOne.RideRequestId);
            var rideRequests = await SendAsync(query);

            // Assert
            rideRequests.Should().BeEquivalentTo(fakeRideRequestOne, options =>
                                                 options.ExcludingMissingMembers());
        }
        public async Task Put_RideRequest_Returns_NoContent()
        {
            // Arrange
            var fakeRideRequest = new FakeRideRequest {
            }.Generate();
            var updatedRideRequestDto = new FakeRideRequestForUpdateDto {
            }.Generate();

            await InsertAsync(fakeRideRequest);

            // Act
            var route = ApiRoutes.RideRequests.Put.Replace(ApiRoutes.RideRequests.RideRequestId, fakeRideRequest.RideRequestId.ToString());
            var result = await _client.PutJsonRequestAsync(route, updatedRideRequestDto);

            // Assert
            result.StatusCode.Should().Be(204);
        }
Exemplo n.º 9
0
        public async Task Patch_RideRequest_Returns_NoContent()
        {
            // Arrange
            var fakeRideRequest = new FakeRideRequest {
            }.Generate();
            var patchDoc = new JsonPatchDocument <RideRequestForUpdateDto>();

            patchDoc.Replace(r => r.RideType, "Easily Identified Value For Test");

            await InsertAsync(fakeRideRequest);

            // Act
            var route  = ApiRoutes.RideRequests.Patch.Replace(ApiRoutes.RideRequests.RideRequestId, fakeRideRequest.RideRequestId.ToString());
            var result = await _client.PatchJsonRequestAsync(route, patchDoc);

            // Assert
            result.StatusCode.Should().Be(204);
        }
        public async Task RideRequestListQuery_Returns_Resource_With_Accurate_Props()
        {
            // Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();
            var fakeRideRequestTwo = new FakeRideRequest {
            }.Generate();
            var queryParameters = new RideRequestParametersDto();

            await InsertAsync(fakeRideRequestOne, fakeRideRequestTwo);

            // Act
            var query        = new RideRequestListQuery(queryParameters);
            var rideRequests = await SendAsync(query);

            // Assert
            rideRequests.Should().HaveCount(2);
        }
        public async Task DeleteRideRequestCommand_Deletes_RideRequest_From_Db()
        {
            // Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();

            await InsertAsync(fakeRideRequestOne);

            var rideRequest = await ExecuteDbContextAsync(db => db.RideRequests.SingleOrDefaultAsync());

            var rideRequestId = rideRequest.RideRequestId;

            // Act
            var command = new DeleteRideRequestCommand(rideRequestId);

            await SendAsync(command);

            var rideRequests = await ExecuteDbContextAsync(db => db.RideRequests.ToListAsync());

            // Assert
            rideRequests.Count.Should().Be(0);
        }
        public async Task RideRequestListQuery_Returns_Expected_Page_Size_And_Number()
        {
            //Arrange
            var fakeRideRequestOne = new FakeRideRequest {
            }.Generate();
            var fakeRideRequestTwo = new FakeRideRequest {
            }.Generate();
            var fakeRideRequestThree = new FakeRideRequest {
            }.Generate();
            var queryParameters = new RideRequestParametersDto()
            {
                PageSize = 1, PageNumber = 2
            };

            await InsertAsync(fakeRideRequestOne, fakeRideRequestTwo, fakeRideRequestThree);

            //Act
            var query        = new RideRequestListQuery(queryParameters);
            var rideRequests = await SendAsync(query);

            // Assert
            rideRequests.Should().HaveCount(1);
        }