public async Task Put_Updates_Question() { _quizRepository.Add(new Quiz { Id = 1, Name = "asd", DateAdded = DateTime.Now }); _questionRepository.Add(new Question { Id = 2, QuizId = 1, Text = "Pytankoo" }); _choiceRepository.Add(new Choice { Id = 3, QuestionId = 2, Text = "Pytankoo" }); await _quizRepository.SaveChangesAsync(); await _questionRepository.SaveChangesAsync(); await _choiceRepository.SaveChangesAsync(); var newChoice = new ChoiceUpdateRequest { Text = "Pytanie na sniadanie" }; var result = await _choiceController.Put(1, 2, 3, newChoice); //Assert Assert.True(result.Value.Text == newChoice.Text); }
public async Task <ObjectResult <ChoiceResponse> > Update(int quizId, int questionId, int choiceId, ChoiceUpdateRequest request) { var choice = await _choiceRepository.GetChoice(questionId, choiceId); var question = await _questionRepository.GetQuestion(quizId, questionId); if (choice == null || question == null) { return(new ObjectResult <ChoiceResponse> { Errors = new[] { "Failed to find the choice to update" } }); } _choiceRepository.Update(choice); choice = _mapper.Map <Choice>(request); if (await _choiceRepository.SaveChangesAsync()) { _cache.Set($"Choice {choice.Id}", choice); return(new ObjectResult <ChoiceResponse> { Object = _mapper.Map <ChoiceResponse>(choice), Found = true, Success = true }); } return(new ObjectResult <ChoiceResponse> { Found = true, Errors = new[] { "Action didn't affect any rows" } }); }
public async Task <ActionResult <ChoiceResponse> > Put(int quizId, int questionId, int choiceId, ChoiceUpdateRequest request) { var updateResponse = await _choiceService.Update(quizId, questionId, choiceId, request); if (!updateResponse.Success) { if (!updateResponse.Found) { return(NotFound(updateResponse.Errors)); } return(BadRequest(updateResponse.Errors)); } return(updateResponse.Object); }