Пример #1
0
        public void Should_Return_RaceUseCase()
        {
            var fileMock        = new Mock <IFormFile>();
            var raceServiceMock = Substitute.For <IRaceService>();

            var content  = "23:49:08.277      038 – F.MASSA                           1		1:02.852                        44,275";
            var fileName = "mock-file-race.txt";
            var ms       = new MemoryStream();
            var writer   = new StreamWriter(ms);

            writer.Write(content);
            writer.Flush();
            ms.Position = 0;
            fileMock.Setup(_ => _.OpenReadStream()).Returns(ms);
            fileMock.Setup(_ => _.FileName).Returns(fileName);
            fileMock.Setup(_ => _.Length).Returns(ms.Length);

            var file = fileMock.Object;

            RaceUseCase raceService = new RaceUseCase(raceServiceMock);
            RaceRequest raceRequest = new RaceRequest(file);
            var         raceResult  = raceService.ProcessRaceResult(raceRequest);

            Assert.True(raceResult.Success, "Valid Imported file");
        }
Пример #2
0
        public void Should_Fail_RaceUseCase()
        {
            var fileMock        = new Mock <IFormFile>();
            var raceServiceMock = Substitute.For <IRaceService>();

            var content  = "";
            var fileName = "mock-file-race.txt";
            var ms       = new MemoryStream();
            var writer   = new StreamWriter(ms);

            writer.Write(content);
            writer.Flush();
            ms.Position = 0;
            fileMock.Setup(_ => _.OpenReadStream()).Returns(ms);
            fileMock.Setup(_ => _.FileName).Returns(fileName);
            fileMock.Setup(_ => _.Length).Returns(ms.Length);

            var file = fileMock.Object;

            RaceUseCase raceService = new RaceUseCase(raceServiceMock);
            RaceRequest raceRequest = new RaceRequest(file);
            var         raceResult  = raceService.ProcessRaceResult(raceRequest);

            Assert.False(raceResult.Success, "File with no content in RaceUseCase");
        }
Пример #3
0
        public IActionResult Post([FromForm] IFormFile file)
        {
            RaceRequest requestRaceResult = new RaceRequest(file);

            RaceResult <Metrics> raceResult = _raceUseCase.ProcessRaceResult(requestRaceResult);

            var presenter = new RacePresenter();

            presenter.Populate(raceResult);
            return(presenter.ViewModel);
        }
Пример #4
0
 public Race EditRace(RaceRequest request)
 {
     AuthenticateUserToken(request.UserToken);
     return(MyRaceService.EditRace(request.Race));
 }
Пример #5
0
 public async Task <ActionResult <IList <LegResponse> > > GetRace(RaceRequest raceRequest)
 {
     return(await _atgService.GetRace(raceRequest.Race.GameId));
 }