public void Register_WhenUserModelValid_ShouldSaveToDatabase() { var testUser = new UserDto() { Username = "******", Nickname = "VALIDNICK", AuthCode = new string('b', 40) }; //var httpServer = new InMemoryHttpServer("http://localhost/"); var model = this.RegisterTestUser(httpServer, testUser); Assert.AreEqual(testUser.Nickname, model.Nickname); Assert.IsNotNull(model.SessionKey); }
public void GetAll_WhenDataInDatabase_ShouldReturnData() { var testUser = new UserDto() { Username = "******", Nickname = "VALIDNICK", AuthCode = new string('b', 40) }; UserLogedDto userModel = RegisterTestUser(httpServer, testUser); var response = httpServer.Get("api/threads/" + userModel.SessionKey); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Content); }
private UserLogedDto RegisterTestUser(InMemoryHttpServer httpServer, UserDto testUser) { var response = httpServer.Post("api/users/register", testUser); var contentString = response.Content.ReadAsStringAsync().Result; var userModel = JsonConvert.DeserializeObject<UserLogedDto>(contentString); return userModel; }
public void GetAllPosts_WhenDataInDatabase_ShouldReturnData_CustomAttributes() { var testUser = new UserDto() { Username = "******", Nickname = "VALIDNICK", AuthCode = new string('b', 40) }; var routes = new List<Route> { new Route( "CustomThreadsApi", "api/threads/{sessionKey}/{id}/posts", new { controller = "threads", sessionKey = RouteParameter.Optional, id = RouteParameter.Optional }), new Route( "CustomThreadsApiGetAll", "api/threads/{sessionKey}", new { controller = "threads", sessionKey = RouteParameter.Optional }), new Route( "UsersApi", "api/{controller}/{action}/{sessionKey}", new { sessionKey = RouteParameter.Optional }) }; this.httpServer = new InMemoryHttpServer("http://localhost/", routes); UserLogedDto userModel = RegisterTestUser(httpServer, testUser); //api/threads/sessionKey string urlGetAllThreads = "api/threads/" + userModel.SessionKey; var responseAllThreads = httpServer.Get(urlGetAllThreads).Content.ReadAsStringAsync().Result; var threads = JsonConvert.DeserializeObject<IEnumerable<ThreadDto>>(responseAllThreads); ThreadDto firstThread = new ThreadDto(); if (threads != null) { foreach (var thr in threads) { firstThread = thr; break; } } //api/threads/sessionKey/1/posts string url = "api/threads/" + userModel.SessionKey + "/" + firstThread.Id + "/posts"; var response = httpServer.Get(url); Assert.AreEqual(HttpStatusCode.OK, response.StatusCode); Assert.IsNotNull(response.Content); }