public async void EstimateTraining_Returns6Stars() { // arrange int userId = 1; using InWordsDataContext context = InWordsDataContextFactory.Create(); Game game = new Game() { }; context.Add(game); context.SaveChanges(); GameLevel gameLevel = new GameLevel() { GameId = game.GameId }; context.Add(gameLevel); context.SaveChanges(); await context.AddAccount(userId); await context.SaveChangesAsync(); // act TrainingDataRequest trainingDataRequest = new TrainingDataRequest(); Training training = new Training { }; training.ClosedCardsMetric = new ClosedCardsMetric(); training.ClosedCardsMetric.WordIdOpenCount.Add(1, 4); training.ClosedCardsMetric.WordIdOpenCount.Add(2, 4); training.ClosedCardsMetric.WordIdOpenCount.Add(3, 2); training.OpenedCardsMetric = new OpenedCardsMetric(); training.OpenedCardsMetric.WordIdOpenCount.Add(1, 3); training.OpenedCardsMetric.WordIdOpenCount.Add(2, 2); training.OpenedCardsMetric.WordIdOpenCount.Add(3, 2); trainingDataRequest.Metrics.Add(training); var requestData = new AuthReq <TrainingDataRequest, TrainingScoreReply>(trainingDataRequest) { UserId = userId }; var requestHandler = new EstimateTraining(context); var result = await requestHandler.HandleRequest(requestData); // assert Assert.Single(result.Scores); Assert.Equal(6, result.Scores.Single().ClosedCards.Score); Assert.Equal(5, result.Scores.Single().OpenedCards.Score); Assert.Equal(6, result.Scores.Single().Score); }
public TrainingDataResponse Post([FromBody] TrainingDataRequest request) { TrainingDataResponse response = new TrainingDataResponse(); response.hasError = true; response.message = "Something went wrong!"; if (request == null) { return(response); } if (String.IsNullOrEmpty(request.name) || !request.startDate.HasValue || !request.endDate.HasValue) { response.message = "Required fields are missing. Please enter valid data!"; return(response); } if (DateTime.Compare(request.endDate.Value, request.startDate.Value) < 0) { response.message = "End Date is earlier than Start Date. Please enter valid data!"; return(response); } if (true) //saveTrainingData(request)) { using (var context = new TrainingDatabaseEntities()) { var entity = new Training() { Name = request.name, StartDate = request.startDate.Value, EndDate = request.endDate.Value }; context.Trainings.Add(entity); context.SaveChanges(); } response.hasError = false; response.message = "Training record successfully saved."; } /*else * { * response.message = "Save failed! Please try again later!"; * }*/ return(response); }
public async void CustomGames_SaveOnce() { int userId = 1; using InWordsDataContext context = InWordsDataContextFactory.Create(); await context.AddAccount(userId); await context.SaveChangesAsync(); EstimateTraining handler = new EstimateTraining(context); var payload = new TrainingDataRequest(); var training = new Training { AudioMetric = new AudioMetric(), ClosedAudioCards2Metric = new ClosedAudioCardsTwoMetric() }; training.AudioMetric.WordIdOpenCount.Add(1, 1); training.AudioMetric.WordIdOpenCount.Add(2, 1); training.AudioMetric.WordIdOpenCount.Add(3, 1); training.ClosedAudioCards2Metric.WordIdOpenCount.Add(1, 1); training.ClosedAudioCards2Metric.WordIdOpenCount.Add(2, 1); training.ClosedAudioCards2Metric.WordIdOpenCount.Add(3, 1); payload.Metrics.Add(training); var request = new AuthReq <TrainingDataRequest, TrainingScoreReply>(payload); var result = await handler.HandleRequest(request); Assert.Single(context.Games); Assert.Single(context.GameTags); Assert.Equal(GameTags.CustomLevelsHistory, context.GameTags.First().Tags); Assert.Single(context.GameLevels); Assert.Single(context.Historylevels); Assert.Empty(context.GameLevelWords); // Because words 1,2,3 is not not found }
public async Task <IActionResult> History(TrainingDataRequest trainingDataRequest) => await mediator.AuthorizeHandlerActionResult <TrainingDataRequest, TrainingScoreReply>(trainingDataRequest, User) .ConfigureAwait(false);