public void SuggestWordsTest() { ConfigureSimpleWordList(); var undertest = new SimpleBoardController(); var model = new SuggestionRequestModel(); var list = WordListConfig.Lists[WordListConfig.ENGLISH_AS_A_SECOND_LANGUAGE]; var board = Board.InitiliseBoard(list); board.GetCell(1, 1).Letter = 'A'; board.GetCell(1, 2).Letter = 'B'; board.GetCell(1, 3).Letter = 'C'; model.Board = new BoardModel(board, list); model.Hand = new HandModel("rtat"); model.Suggestions = new SuggestionsModel(); ActionResult action = undertest.SuggestWords(model); Assert.AreEqual(typeof(ViewResult), action.GetType()); ViewResult result = action as ViewResult; Assert.AreEqual("Index", result.ViewName); Assert.IsNotNull(result.Model); Assert.AreEqual(typeof(SuggestionRequestModel), result.Model.GetType()); var resultantModel = result.Model as SuggestionRequestModel; Assert.IsNotNull(resultantModel); Assert.IsNotNull(resultantModel.Board); Assert.IsNotNull(resultantModel.Hand); Assert.IsNotNull(resultantModel.Suggestions); Assert.AreEqual(3, resultantModel.Suggestions.Moves.Count()); }
public IHttpActionResult Post(SuggestionRequestModel model) { var userId = model.isAnonymous ? null : this.User.Identity.GetUserId(); var newSuggestion = this.suggestions .AddSuggestion(userId, Mapper.Map <Suggestion>(model)); return(this.Ok(Mapper.Map <SuggestionResponseModel>(newSuggestion))); }
public Suggestion UpdateSuggestion(Suggestion suggestionToUpdate, SuggestionRequestModel model) { suggestionToUpdate.Title = model.Title; suggestionToUpdate.Content = model.Content; suggestionToUpdate.isPrivate = model.isPrivate; this.suggestions.SaveChanges(); return(suggestionToUpdate); }
public ActionResult SuggestWords(SuggestionRequestModel suggestionRequest) { var suggestions = new SuggestionsModel(); suggestions.Moves = FindMoves(suggestionRequest.Board.Board, suggestionRequest.Hand.Hand, suggestionRequest.Board.List) .Take(20).ToImmutableList(); suggestionRequest.Suggestions = suggestions; return(View("Index", suggestionRequest)); }
public IHttpActionResult Post(SuggestionRequestModel model) { var userId = model.isAnonymous ? null : this.User.Identity.GetUserId(); var newSuggestion = this.suggestions .AddSuggestion(userId, Mapper.Map <Suggestion>(model)); return(this.Created( string.Format("/api/suggestions/{0}", newSuggestion.Id), Mapper.Map <SuggestionResponseModel>(newSuggestion))); }
// GET: SimpleBoard public ActionResult Index() { WordList list = WordListConfig.Lists[WordListConfig.ENGLISH_AS_A_SECOND_LANGUAGE]; var board = Board.InitiliseBoard(list); var suggestionRequest = new SuggestionRequestModel(); suggestionRequest.Board = new BoardModel(board, list); suggestionRequest.Hand = new HandModel(); suggestionRequest.Suggestions = new SuggestionsModel(); return(View(suggestionRequest)); }
public IHttpActionResult Put(int id, SuggestionRequestModel model) { var suggestion = this.suggestions .GetSuggestionById(id) .SingleOrDefault(); if (suggestions == null) { return(this.BadRequest("Suggestion does not exist")); } if (!this.suggestions.UserIsEligibleToModifySuggestion(suggestion, this.User.Identity.GetUserId(), this.User.IsInRole(UserConstants.AdminRole))) { return(this.BadRequest("You are not allowed to modify this suggestion!")); } var newSuggestion = this.suggestions .UpdateSuggestion(suggestion, model); return(this.Ok(Mapper.Map <SuggestionResponseModel>(newSuggestion))); }
public IHttpActionResult Put(int id, SuggestionRequestModel model) { var suggestion = this.suggestions .GetSuggestionById(id) .SingleOrDefault(); if (suggestion == null) { return(this.BadRequest(SuggestionsConstants.SuggestionNotExist)); } if (!this.suggestions.UserIsEligibleToModifySuggestion(suggestion, this.User.Identity.GetUserId(), this.User.IsInRole(UserConstants.AdminRole))) { return(this.BadRequest(SuggestionsConstants.NoPermissionToEdit)); } var newSuggestion = this.suggestions .UpdateSuggestion(suggestion, model); return(this.Ok(Mapper.Map <SuggestionResponseModel>(newSuggestion))); }