public void TestWithValidPost_ShouldCreatePostInDatabase() { var testPost = new Post() { Title = "Test post", Tags = new List <Tag>() { new Tag() { Name = "technology" }, }, Text = "this is just a test post" }; var testUser = new UserModel() { Username = "******", DisplayName = "VALIDNICK", AuthCode = new string('b', 40) }; LoggedUserModel userModel = RegisterTestUser(httpServer, testUser); var headers = new Dictionary <string, string>(); headers["X-sessionKey"] = userModel.SessionKey; var response = httpServer.Post("api/posts", testPost, headers); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); }
public void TestCreateValidPost_ShouldReturnOK() { var testPost = new CreatePostDto { Title = "NEW POST", Text = "this is just a test post", Tags = new string[] { "post" } }; var testUser = new UserDto { Username = "******", DisplayName = "Peter Petroff", AuthCode = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e" }; var response = httpServer.Post("api/users/register", testUser); string contentString = response.Content.ReadAsStringAsync().Result; var loggedUser = JsonConvert.DeserializeObject <LoggedUserDto>(contentString); var headers = new Dictionary <string, string>(); headers["X-SessionKey"] = loggedUser.SessionKey; var createPostResponse = httpServer.Post("api/posts", testPost, headers); string resultString = createPostResponse.Content.ReadAsStringAsync().Result; var createdPost = JsonConvert.DeserializeObject <CreatePostDto>(resultString); Assert.AreEqual(HttpStatusCode.Created, createPostResponse.StatusCode); Assert.AreEqual(testPost.Title, createdPost.Title); Assert.AreEqual(testPost.Text, createdPost.Text); Assert.IsNotNull(createdPost.Id); }
private LoggedUserModel RegisterTestUser(InMemoryHttpServer httpServer, UserModel testUser) { var response = httpServer.Post("api/users/register", testUser); var contentString = response.Content.ReadAsStringAsync().Result; var userModel = JsonConvert.DeserializeObject<LoggedUserModel>(contentString); return userModel; }
private LoggedUserModel RegisterTestUser(InMemoryHttpServer httpServer, UserModel testUser) { var response = httpServer.Post("api/users/register", testUser); var contentString = response.Content.ReadAsStringAsync().Result; var userModel = JsonConvert.DeserializeObject <LoggedUserModel>(contentString); return(userModel); }
public void TestValidUser_ShouldAddToDatabase() { var testUser = new User() { Username = "******", DisplayName = "Minka Svirkata", AuthCode = new string('*', 40) }; var response = httpServer.Post("api/users/register", testUser); Assert.IsNotNull(response); Assert.AreEqual(HttpStatusCode.Created, response.StatusCode, string.Format("User is not created in database! Response status code: {0}", response.StatusCode)); }
public void TestGetPostsByValidTags_ShoudReturnValidPosts() { var testUser = new UserModel() { Username = "******", DisplayName = "VALIDNICK", AuthCode = new string('b', 40) }; LoggedUserModel userModel = RegisterTestUser(httpServer, testUser); var headers = new Dictionary <string, string>(); headers["X-sessionKey"] = userModel.SessionKey; var testPost = new Post() { Title = "Test post", Tags = new List <Tag>() { new Tag() { Name = "technology" }, new Tag() { Name = "it" }, }, Text = "this is just a test post" }; httpServer.Post("api/posts", testPost, headers); var response = httpServer.Get("api/posts?tags=technology,it", headers); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Content); }
public void TestLeaveValidComment_ShouldReturnCreated() { //Create test user var testUser = new UserModel() { Username = "******", DisplayName = "VALIDNICK", AuthCode = new string('b', 40) }; LoggedUserModel userModel = RegisterTestUser(httpServer, testUser); var headers = new Dictionary <string, string>(); headers["X-sessionKey"] = userModel.SessionKey; //Create test post var testPost = new Post() { Title = "Test post", Tags = new List <Tag>() { new Tag() { Name = "technology" }, }, Text = "this is just a test post" }; var createPostResponse = httpServer.Post("api/posts", testPost, headers); string createPostResponseBody = createPostResponse.Content.ReadAsStringAsync().Result; var postResponse = JsonConvert.DeserializeObject <CreatePostResponseModel>(createPostResponseBody); var comment = new Comment() { PostDate = DateTime.Now, Text = "Abe kefi me toq post" }; var commentCreateResponse = httpServer.Put("api/posts/" + postResponse.PostId + "/comment", comment, headers); Assert.AreEqual(HttpStatusCode.Created, commentCreateResponse.StatusCode); }
public void RegisterWhenUserIsValid() { var testUser = new UserModel() { Username = "******", DisplayName = "Valid DisplayName", AuthCode = new string('*', 40) }; var response = httpServer.Post("api/users/register", testUser); var contentString = response.Content.ReadAsStringAsync().Result; Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); var userModel = JsonConvert.DeserializeObject <LoggedUserModel>(contentString); Assert.AreEqual(testUser.DisplayName, userModel.DisplayName); Assert.IsNotNull(userModel.SessionKey); }
public void TestRegisterUser_UsernameIsNull_ShouldReturnBadRequest() { var testUser = new UserDto { Username = null, DisplayName = "Michael Suyama", AuthCode = "bfff2dd4f1b310eb0dbf593bd83f94dd8d34077e" }; var response = httpServer.Post("api/users/register", testUser); Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode); }
public void PostAddValid() { var testUser = new UserModel() { Username = "******", DisplayName = "Valid DisplayName", AuthCode = new string('*', 40) }; var response = httpServer.Post("api/users/register", testUser); var contentString = response.Content.ReadAsStringAsync().Result; Assert.AreEqual(HttpStatusCode.Created, response.StatusCode); var userModel = JsonConvert.DeserializeObject <LoggedUserModel>(contentString); var headers = new Dictionary <string, string>(); headers["X-sessionKey"] = userModel.SessionKey; var post = new PostModel() { Title = "Some title", Text = "Some text" }; var responseAdd = httpServer.Post("api/posts", post, headers); Assert.AreEqual(HttpStatusCode.Created, responseAdd.StatusCode); }