public async Task Create_EndpointShouldRequireUrl() { var invalidPost = new Models.SocialMediaPost { SortOrder = 0, }; var stringContent = new StringContent(JsonConvert.SerializeObject(invalidPost), Encoding.UTF8, "application/json"); var response = await Client.PostAsync("/api/socialmediaposts", stringContent); response.IsSuccessStatusCode.Should().BeFalse(); }
public IActionResult UpdateSocialMediaPost(Guid id, Models.SocialMediaPost socialMediaPost) { try { var dbPost = dbContext.SocialMediaPost.Find(id); if (dbPost != null && dbPost.IsActive) { socialMediaPost.Id = id; socialMediaPost.Timestamp = DateTime.Now; dbContext.Entry(dbPost).CurrentValues.SetValues(socialMediaPost); dbContext.SocialMediaPost.Update(dbPost); dbContext.SaveChanges(); return(Ok(mapper.Map <Models.SocialMediaPost>(dbPost))); } return(NotFound($"Social media post not found with id: {id}")); } catch (Exception ex) { return(BadRequest("Failed to update social media post", ex)); } }
public IActionResult AddSocialMediaPost(Models.SocialMediaPost socialMediaPost) { try { if (socialMediaPost.Id != Guid.Empty) { throw new ValidationException("Invalid parameter (id)"); } var dbPost = new SocialMediaPost { IsActive = true }; socialMediaPost.Id = Guid.NewGuid(); socialMediaPost.Timestamp = DateTime.Now; dbContext.Entry(dbPost).CurrentValues.SetValues(socialMediaPost); dbContext.SocialMediaPost.Add(dbPost); dbContext.SaveChanges(); return(CreatedAtRoute("GetSocialMediaPost", new { id = dbPost.Id }, mapper.Map <Models.SocialMediaPost>(dbPost))); } catch (Exception ex) { return(BadRequest("Failed to create social media post", ex)); } }