public async Task StationBoardServiceGetArrivalDepartureBoardCallsClient()
        {
            var restRequest = new StationBoardRequest();
            var soapRequest = new GetArrivalDepartureBoardRequest();
            var mapper      = A.Fake <IMapperService>();

            A.CallTo(() => mapper.MapGetArrivalDepartureBoardRequest(restRequest)).Returns(soapRequest);
            var client  = A.Fake <LDBServiceSoap>();
            var service = new StationBoardService(A.Fake <ILogger <StationBoardService> >(), mapper, client);

            await service.GetArrivalDepartureBoardAsync(restRequest);

            A.CallTo(() => client.GetArrivalDepartureBoardAsync(soapRequest)).MustHaveHappenedOnceExactly();
        }
Example #2
0
            // TODO: when impl DI
            //private readonly IArrivalsDeparturesBoardService arrivalsDeparturesBoardService;

            //public QueryHandler(IArrivalsDeparturesBoardService arrivalsDeparturesBoardService)
            //{
            //    this.arrivalsDeparturesBoardService = arrivalsDeparturesBoardService;
            //}

            public async Task <StationBoardModel> Handle(Query request, CancellationToken cancellationToken)
            {
                var service = new StationBoardService();
                //return await this.arrivalsDeparturesBoardService.GetBoard(request);

                var result = await service.GetBoard(request);

                // TODO: Map
                return(new StationBoardViewModel
                {
                    Crs = result.Crs,
                    FilterCrs = result.FilterCrs,
                    FilterLocation = result.FilterLocation,
                    FilterType = result.FilterType,
                    GeneratedAt = result.GeneratedAt,
                    HasPlatform = result.HasPlatform,
                    HasServices = result.HasServices,
                    Location = result.Location,
                    Messages = result.Messages,
                    Services = result.Services
                });
            }
Example #3
0
            // TODO: when impl DI
            //private readonly IArrivalsDeparturesBoardService arrivalsDeparturesBoardService;

            //public QueryHandler(IArrivalsDeparturesBoardService arrivalsDeparturesBoardService)
            //{
            //    this.arrivalsDeparturesBoardService = arrivalsDeparturesBoardService;
            //}

            public async Task <StationBoardModel> Handle(Query request, CancellationToken cancellationToken)
            {
                var service = new StationBoardService();

                return(await service.GetBoard(request));
            }