public void SendAnonymousPersonalMessage_InvalidRecipient_ShouldReturn400BadRequest() { // Arrange TestingEngine.CleanDatabase(); var username = "******"; // Act -> send a message to invalid recipient user var httpResponse = TestingEngine.SendPersonalMessageHttpPost(username, "Some message"); // Assert -> 400 (Bad Request) Assert.AreEqual(HttpStatusCode.BadRequest, httpResponse.StatusCode); }
public void SendAnonymousPersonalMessage_InvalidData_ShouldReturn400BadRequest() { // Arrange TestingEngine.CleanDatabase(); // Act -> POST an empty (null) message var httpResponseNullData = TestingEngine.HttpClient.PostAsync( "/api/user/personal-messages", null).Result; // Assert -> 400 (Bad Request) Assert.AreEqual(HttpStatusCode.BadRequest, httpResponseNullData.StatusCode); // Act -> send an empty message to empty recipient var httpResponseEmptyData = TestingEngine.SendPersonalMessageHttpPost("", ""); // Assert -> 400 (Bad Request) Assert.AreEqual(HttpStatusCode.BadRequest, httpResponseEmptyData.StatusCode); }
public void SendPersonalMessage_ListPersonalMessages_ShouldReturn200Ok_MessagesList() { // Arrange -> register sender and recipient users TestingEngine.CleanDatabase(); string senderUsername = "******"; var senderUserSession = TestingEngine.RegisterUser(senderUsername, "P@ssW01345"); string recipientUsername = "******"; var recipientSession = TestingEngine.RegisterUser(recipientUsername, "#testAZx$27"); var messages = new string[] { "Hello Peter " + DateTime.Now.Ticks, "Hello Peter (again) " + DateTime.Now.Ticks + 1, "Hello Peter (one more time) " + DateTime.Now.Ticks + 2 }; // Act -> send several messages to the user foreach (var message in messages) { var httpResponse = TestingEngine.SendPersonalMessageHttpPost( senderUserSession.Access_Token, recipientUsername, message); Assert.AreEqual(HttpStatusCode.OK, httpResponse.StatusCode); } // Assert -> expect to get the messages correctly var httpResponseMessages = TestingEngine.GetPersonalMessagesForUserHttpGet(recipientSession.Access_Token); var messagesFromService = httpResponseMessages.Content.ReadAsAsync <List <MessageModel> >().Result; Assert.AreEqual(messages.Count(), messagesFromService.Count); // Expect the messages to arrive ordered by date (from the last to the first) messagesFromService.Reverse(); for (int i = 0; i < messages.Length; i++) { Assert.IsTrue(messagesFromService[i].Id > 0); Assert.AreEqual(senderUsername, messagesFromService[i].Sender); Assert.IsNotNull(messagesFromService[i].DateSent); Assert.IsTrue((DateTime.Now - messagesFromService[0].DateSent) < TimeSpan.FromMinutes(1)); Assert.AreEqual(messages[i], messagesFromService[i].Text); } }