public void BookPlaceAsyncWithValidParametersExpectPlaceBooked() { UzContext context = _uzClient.GetUZContextAsync().Result; TrainsResponse trainsResponse = GetTrains(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(DaysOffset)); TrainsResponse.Train train = trainsResponse.Trains.First(); WagonsResponse wagonsResponse = _uzClient.GetWagonsAsync(context, KievStationId, LvovStatinId, train.StationFrom.DateTime, train.TrainNumber, train.TrainType, train.Wagons.First().TypeCode).Result; WagonsResponse.Wagon wagon = wagonsResponse.Wagons.First(); PlacesResponse placesResponse = GetPlaces(context, KievStationId, LvovStatinId, train.StationFrom.DateTime, train.TrainNumber, wagon.Number, wagon.CoachClass, wagon.CoachType); BookPlacesResponse bookPlaceResult = BookPlace(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(DaysOffset), train.TrainNumber, wagon.Number, wagon.CoachClass, wagon.TypeCode, placesResponse.Places.First(), placesResponse.PlaceType, "Валера", "Топор"); Assert.IsFalse(bookPlaceResult.IsError); }
public void GetTrainsAsyncWithInvalidDateExpectNoTrains() { UzContext context = _uzClient.GetUZContextAsync().Result; TrainsResponse trainsResponse = GetTrains(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(-1)); CollectionAssert.IsEmpty(trainsResponse.Trains); }
public void GetTrainsAsyncWithValidParametersExpectTrains() { UzContext context = _uzClient.GetUZContextAsync().Result; TrainsResponse trainsResponse = GetTrains(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(DaysOffset)); CollectionAssert.IsNotEmpty(trainsResponse.Trains); }
// POST api/trains public async Task <IHttpActionResult> Post([FromBody] TrainsRequestDto requestDto) { UzContext context = await UZ.GetUZContextAsync(); TrainsResponse trains = await UZ.GetTrainsAsync(context, requestDto.StationFromId, requestDto.StationToId, requestDto.DateTime); return(Json(trains)); }
private async Task <ICollection <TrainsResponse.Train> > GetTrains(UzContext uzContext, Request request, string wagonTypeId) { TrainsResponse trainsResponse = await _uzClient.GetTrainsAsync(uzContext, request.StationFromId, request.StationToId, request.DateTime); return((from train in trainsResponse.Trains from wagon in train.Wagons where wagonTypeId == wagon.TypeCode select train).ToList()); }
public void GetTrainsAsyncWithInvalidContextExpectNoTrains() { var context = new UzContext("token", new CookieCollection()); TrainsResponse trainsResponse = _uzClient.GetTrainsAsync(context, KievStationId, // Киев LvovStatinId, // Львов DateTime.Today.AddDays(DaysOffset) ).Result; CollectionAssert.IsEmpty(trainsResponse.Trains); }
public void GetWagonsAsyncWithInvalidTrainNumberExpectNoWagons() { UzContext context = _uzClient.GetUZContextAsync().Result; TrainsResponse trainsResponse = GetTrains(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(DaysOffset)); TrainsResponse.Train train = trainsResponse.Trains.First(); WagonsResponse wagonsResponse = GetWagons(context, KievStationId, LvovStatinId, train.StationFrom.DateTime, "invalid_train", train.TrainType, train.Wagons.First().TypeCode); CollectionAssert.IsEmpty(wagonsResponse.Wagons); }
public async Task <TrainsResponse> GetTrainsAsync(UzContext context, int stationFromId, int stationToId, DateTime date) { var content = new FormUrlEncodedContent( new Dictionary <string, string> { { "station_id_from", stationFromId.ToString() }, { "station_id_till", stationToId.ToString() }, { "date_dep", date.ToString("dd.MM.yyyy") }, { "time_dep", "00:00" }, { "time_dep_till", "" }, { "another_ec", "0" }, { "search", "" } }); TrainsResponse rawTrains = await ExecutePostRequestAsync(context, UrlTrains, content, ResponseFormatter.FormatTrains); return(rawTrains); }
public void GetPlacesAsyncWithInvalidCoachTypeExpectNoPlaces() { UzContext context = _uzClient.GetUZContextAsync().Result; TrainsResponse trainsResponse = GetTrains(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(DaysOffset)); TrainsResponse.Train train = trainsResponse.Trains.First(); WagonsResponse wagonsResponse = _uzClient.GetWagonsAsync(context, KievStationId, LvovStatinId, train.StationFrom.DateTime, train.TrainNumber, train.TrainType, train.Wagons.First().TypeCode).Result; WagonsResponse.Wagon wagon = wagonsResponse.Wagons.First(); PlacesResponse placesResponse = GetPlaces(context, KievStationId, LvovStatinId, DateTime.Now.AddDays(-1), train.TrainNumber, wagon.Number, wagon.CoachClass, int.MaxValue); CollectionAssert.IsEmpty(placesResponse.Places); }
public void GetPlacesAsyncWithValidParametersExpectPlaces() { UzContext context = _uzClient.GetUZContextAsync().Result; TrainsResponse trainsResponse = GetTrains(context, KievStationId, LvovStatinId, DateTime.Today.AddDays(DaysOffset)); TrainsResponse.Train train = trainsResponse.Trains.First(); WagonsResponse wagonsResponse = _uzClient.GetWagonsAsync(context, KievStationId, LvovStatinId, train.StationFrom.DateTime, train.TrainNumber, train.TrainType, train.Wagons.First().TypeCode).Result; WagonsResponse.Wagon wagon = wagonsResponse.Wagons.First(); PlacesResponse placesResponse = GetPlaces(context, KievStationId, LvovStatinId, train.StationFrom.DateTime, train.TrainNumber, wagon.Number, wagon.CoachClass, wagon.CoachType); Assert.IsFalse(string.IsNullOrWhiteSpace(placesResponse.PlaceType)); CollectionAssert.IsNotEmpty(placesResponse.Places); }