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"); }
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"); }
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); }
public Race EditRace(RaceRequest request) { AuthenticateUserToken(request.UserToken); return(MyRaceService.EditRace(request.Race)); }
public async Task <ActionResult <IList <LegResponse> > > GetRace(RaceRequest raceRequest) { return(await _atgService.GetRace(raceRequest.Race.GameId)); }