public async Task CreatePostReturnsNotFoundForInvalidSession() { var newIdea = new NewIdeaDto("Name", "Description", 123); var response = await _client.PostAsJsonAsync("/api/ideas/create", newIdea); Assert.Equal(HttpStatusCode.NotFound, response.StatusCode); }
public async Task CreatePostReturnsBadRequestForSessionIdValueTooLarge() { var newIdea = new NewIdeaDto("Name", "Description", 1000001); var response = await _client.PostAsJsonAsync("/api/ideas/create", newIdea); Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public async Task CreatePostReturnsBadRequestForSessionIdValueTooSmall() { // Arrange var newIdea = new NewIdeaDto("Name", "Description", 0); // Act var response = await _client.PostAsJsonAsync("/api/ideas/create", newIdea); // Assert Assert.Equal(HttpStatusCode.BadRequest, response.StatusCode); }
public HttpResponseMessage SendNewIdea(NewIdeaDto idea) { var res = _business.SendNewIdea(idea); if (res.Value == true) { return(Request.CreateResponse(HttpStatusCode.OK, res.Content)); } else { return(Request.CreateResponse(HttpStatusCode.PreconditionFailed, res.Content)); } }
public async Task CreatePostReturnsCreatedIdeaWithCorrectInputs() { var testIdeaName = Guid.NewGuid().ToString(); var newIdea = new NewIdeaDto(testIdeaName, "Description", 1); var response = await _client.PostAsJsonAsync("/api/ideas/create", newIdea); response.EnsureSuccessStatusCode(); var returnedSession = await response.Content.ReadAsJsonAsync <BrainstormSession>(); Assert.Equal(2, returnedSession.Ideas.Count); Assert.True(returnedSession.Ideas.Any(i => i.Name == testIdeaName)); }
//------------------------------------------------------------------------------------------------- public Result SendNewIdea(NewIdeaDto idea) { Result result = new Result(); if ( idea.Advantages == null || idea.CurrentSituation == null || idea.Prerequisite == null || idea.Steps == null || idea.Title == null || idea.Username == null ) { result.Value = false; result.Content = "همهی بخشهای اجباری پر نشده است"; return(result); } return(_Repository.SendNewIdea(idea)); }
//----------------------------------------------------------------------------------------------------------- public Result SendNewIdea(NewIdeaDto newIdea) { Result result = new Result(); using (_db = new IdeaManagmentDatabaseEntities()) { IDEA idea = new IDEA() { USERNAME = newIdea.Username, TITLE = newIdea.Title, SAVE_DATE = DateTime.Now, ADVANTAGES = newIdea.Advantages, PREREQUISITE = newIdea.Prerequisite, STEPS = newIdea.Steps, CURRENT_SITUATION = newIdea.CurrentSituation }; _db.IDEAS.Add(idea); _db.SaveChanges(); result.Value = true; result.Content = "ایده جدید ایجاد شد"; } return(result); }
//----------------------------------------------------------------------------------------------------------- public Result SendNewIdea(NewIdeaDto newIdea) { Result result = new Result(); using (_db = new IdeaManagmentDatabaseEntities()) { IDEA idea = new IDEA() { USERNAME = newIdea.USERNAME, TITLE = newIdea.TITLE, SAVE_DATE = DateTime.Now, ADVANTAGES = newIdea.ADVANTAGES, PREREQUISITE = newIdea.PREREQUISITE, STEPS = newIdea.STEPS, CURRENT_SITUATION = newIdea.CURRENT_SITUATION }; _db.IDEAS.Add(idea); _db.SaveChanges(); result.value = true; result.content = "ایده جدید ایجاد شد"; return(result); } }
public IActionResult UpdateIdea(int id, NewIdeaDto updatedValues) { try { _unitOfWorkManager.StartUnitOfWork(); Idea updatedIdea = _ideationManager.ChangeIdea( id, updatedValues.Title, updatedValues.IdeationId); _unitOfWorkManager.EndUnitOfWork(); if (updatedIdea == null) { return(BadRequest("Something went wrong while updating the idea.")); } return(Ok(_mapper.Map <IdeaMinDto>(updatedIdea))); } catch (ValidationException ve) { return(UnprocessableEntity($"Invalid input data: {ve.ValidationResult.ErrorMessage}")); } catch (ArgumentException e) { switch (e.ParamName) { case "id": return(NotFound(e.Message)); case "ideationId": return(UnprocessableEntity(e.Message)); default: return(BadRequest(e.Message)); } } }
//------------------------------------------------------------------------------------------------- public Result SendNewIdea(NewIdeaDto idea) { return(_Repository.SendNewIdea(idea)); }
public async Task <IActionResult> PostNewIdea([FromForm] NewIdeaDto idea, [FromRoute] string orgId) { if (idea.Texts.IsNullOrEmpty() && idea.Images.IsNullOrEmpty()) { return(BadRequest("Either images or text content should be provided.")); } try { // UoW is started here to make sure the request either fails or succeeds fully _unitOfWorkManager.StartUnitOfWork(); Idea createdIdea = _ideationManager.AddIdea( idea.Title, idea.IdeationId); _userManager.AddIdeaToUser(createdIdea, idea.UserId); foreach (var video in idea.Videos) { string imgLocation = await _fileService.ConvertFileToLocation(video); _ideationManager.AddFieldToIdea(FieldType.Video, imgLocation, createdIdea.IdeaId); } foreach (var image in idea.Images) { string imgLocation = await _fileService.ConvertFileToLocation(image); _ideationManager.AddFieldToIdea(FieldType.Picture, imgLocation, createdIdea.IdeaId); } foreach (var textfield in idea.Texts) { _ideationManager.AddFieldToIdea(FieldType.Text, textfield, createdIdea.IdeaId); } foreach (var location in idea.Locations) { _ideationManager.AddFieldToIdea(FieldType.Location, location, createdIdea.IdeaId); } foreach (var link in idea.Links) { _ideationManager.AddFieldToIdea(FieldType.Link, link, createdIdea.IdeaId); } _unitOfWorkManager.EndUnitOfWork(); return(CreatedAtAction( "GetIdea", new { orgId, id = createdIdea.IdeaId }, _mapper.Map <IdeaMinDto>(createdIdea))); } catch (ValidationException ve) { return(UnprocessableEntity($"Invalid input data: {ve.ValidationResult.ErrorMessage}")); } catch (Exception e) { return(BadRequest($"Something went wrong in creating the idea: {e.Message}.")); } }
public async Task CreatePostReturnsCreatedIdeaWithCorrectInputs() { var testIdeaName = Guid.NewGuid().ToString(); var newIdea = new NewIdeaDto(testIdeaName, "Description", 1); var response = await _client.PostAsJsonAsync("/api/ideas/create", newIdea); response.EnsureSuccessStatusCode(); var returnedSession = await response.Content.ReadAsJsonAsync<BrainstormSession>(); Assert.Equal(2, returnedSession.Ideas.Count); Assert.True(returnedSession.Ideas.Any(i => i.Name == testIdeaName)); }