public void ShouldGetChatsOfUser() { //arrange var user = new User { Name = "testUser", Picture = new byte[] {} }; var login = "******"; var password = "******"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser = userRepository.Create(user, login, password); _tempUsers.Add(resultUser.Id); var chatRepository = new ChatsRepository(ConnectionString); var chatResult = chatRepository.Create("chatTitle", new List <Guid>() { resultUser.Id }); _tempChats.Add(chatResult.Id); var chats = userRepository.GetUserChats(resultUser.Id); //asserts Assert.AreEqual(chats.Count(), 1); }
public void ShouldSendAndDeleteMessage() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] {} }; var login = "******"; var password = "******"; var title = "chatTitle"; var pic = new byte[] {}; string msg = "TestText of msg"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser = userRepository.Create(user, login, password); var userIds = new List <Guid> { resultUser.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds, pic); _tempChats.Add(resultChat.Id); var messageRepository = new MessagesRepository(ConnectionString); var resultMsg = messageRepository.Send(msg, resultUser.Id, resultChat.Id); messageRepository.Delete(resultMsg.Id); //asserts Assert.AreEqual(false, messageRepository.MessageExists(resultMsg.Id)); Assert.AreEqual(false, chatRepository.GetChatMessages(resultChat.Id).Any(m => m.Id == resultMsg.Id)); }
public void ShouldGetChat() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] { } }; var login = "******"; var password = "******"; var title = "chatTitle"; var pic = new byte[] {}; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var userIds = new List <Guid> { resultUser1.Id, resultUser2.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var tempChat = chatRepository.Create(title, userIds, pic); var resultChat = chatRepository.Get(tempChat.Id); _tempChats.Add(resultChat.Id); //asserts Assert.AreEqual(resultChat.Title, title); Assert.AreEqual(resultChat.Members.Count(), 2); Assert.AreEqual(resultChat.Members.Any(u => u.Id == resultUser1.Id), true); Assert.AreEqual(resultChat.Members.Any(u => u.Id == resultUser2.Id), true); }
public void ShouldGetChatMembers() { _tempUsers1.Clear(); var user1 = new User { Name = Guid.NewGuid().ToString(), Password = "******" }; var user2 = new User { Name = Guid.NewGuid().ToString(), Password = "******" }; UsersRepository userRepository = new UsersRepository(_connectionString); user1 = userRepository.Create(user1); user2 = userRepository.Create(user2); _tempUsers1.Add(user1); _tempUsers1.Add(user2); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var resultCreate = chatRepository.Create(new[] { user1.Id, user2.Id }, "NewChat"); List <User> resultUsers = chatRepository.GetChatMembers(resultCreate.Id).ToList(); Assert.AreEqual(_tempUsers1.OrderBy(u => u.Id).First().Id, resultCreate.Members.OrderBy(u => u.Id).First().Id); }
public void ShouldCreateAndDeleteChat() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] { } }; var login = "******"; var password = "******"; var title = "chatTitle"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var userIds = new List <Guid> { resultUser1.Id, resultUser2.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds); chatRepository.Delete(resultChat.Id); //asserts Assert.AreEqual(chatRepository.ChatExists(resultChat.Id), false); }
public void ShouldChangeChatPicture() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] { } }; var login = "******"; var password = "******"; var title = "chatTitle"; var pic = new byte[] { }; var newPic = new byte[] { }; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var userIds = new List <Guid> { resultUser1.Id, resultUser2.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds, pic); _tempChats.Add(resultChat.Id); chatRepository.ChangePicture(resultChat.Id, newPic); resultChat = chatRepository.Get(resultChat.Id); //asserts Assert.AreEqual(newPic, resultChat.Picture); }
public void ShouldStartChatWithUser() { //arrange var user = new User { Name = "testUser", Avatar = Encoding.UTF8.GetBytes("ava"), Password = "******" }; const string chatName = "чатик"; //act var usersRepository = new UsersRepository(ConnectionString); var result = usersRepository.Create(user); _tempUsers.Add(result.Id); var chatRepository = new ChatsRepository(ConnectionString, usersRepository); var chat = chatRepository.Create(new[] { user.Id }, chatName); var userChats = chatRepository.GetUserChats(user.Id); //asserts Assert.AreEqual(chatName, chat.Name); Assert.AreEqual(user.Id, chat.Members.Single().Id); Assert.AreEqual(chat.Id, userChats.Single().Id); Assert.AreEqual(chat.Name, userChats.Single().Name); }
public void ShouldGetUserChats() { User user1 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); User user2 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); UsersRepository userRepository = new UsersRepository(_connectionString); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var resultCreate = chatRepository.Create(new[] { user1.Id, user2.Id }, "NewChat"); var resultChats = chatRepository.GetUserChats(user1.Id); Assert.AreEqual("NewChat", resultChats.First().Name); }
public void ShouldChangeName() { User user1 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); User user2 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); UsersRepository userRepository = new UsersRepository(_connectionString); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var resultCreate = chatRepository.Create(new[] { user1.Id, user2.Id }, "NewChat"); chatRepository.ChangeNameOfChat(resultCreate.Id, "HelloWorldChat"); var resultGet = chatRepository.GetChat(resultCreate.Id); Assert.AreEqual("HelloWorldChat", resultGet.Name); }
public void ShouldSearchMessages() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] {} }; var login = "******"; var password = "******"; var title = "chatTitle"; var pic = new byte[] {}; string msg1 = "TestText of msg"; string msg2 = "TestText of nothing"; string msg3 = "TestText of msg2"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var userIds = new List <Guid> { resultUser1.Id, resultUser2.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds, pic); _tempChats.Add(resultChat.Id); var messageRepository = new MessagesRepository(ConnectionString); var resultMsg1 = messageRepository.Send(msg1, resultUser1.Id, resultChat.Id); _tempMessages.Add(resultMsg1.Id); var resultMsg2 = messageRepository.Send(msg2, resultUser1.Id, resultChat.Id); _tempMessages.Add(resultMsg2.Id); var resultMsg3 = messageRepository.Send(msg3, resultUser2.Id, resultChat.Id); _tempMessages.Add(resultMsg3.Id); var resultMsgs = messageRepository.SearchMessages(resultUser2.Id, "msg"); //asserts Assert.AreEqual(2, resultMsgs.Count()); Assert.AreEqual(true, resultMsgs.Any(m => m.Id == resultMsg1.Id)); Assert.AreEqual(false, resultMsgs.Any(m => m.Id == resultMsg2.Id)); Assert.AreEqual(true, resultMsgs.Any(m => m.Id == resultMsg3.Id)); }
public void ShouldDeleteChat() { _tempUsers.Clear(); _tempUsers1.Clear(); User user1 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); User user2 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); UsersRepository userRepository = new UsersRepository(_connectionString); _tempUsers.Add(user1.Id); _tempUsers.Add(user2.Id); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var result = chatRepository.Create(_tempUsers, "NewChat"); chatRepository.Delete(result.Id, user1.Id); chatRepository.GetChat(result.Id); }
internal static Chat Chat(int usersAmount = 2) { var members = new List <ChatMember>(); for (int i = 0; i < usersAmount; i++) { members.Add(new ChatMember { UserID = User().ID }); } Chat chat = new Chat { Name = "TestChat", Members = members }; return(ChatsRepository.Create(chat)); }
public void ShouldGetMessageAttachs() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] {} }; var login = "******"; var password = "******"; var title = "chatTitle"; var pic = new byte[] {}; var atch = new List <string>() { "pic.jpg", "text.txt" }; string msg = "TestText of msg"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var userIds = new List <Guid> { resultUser1.Id, resultUser2.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds, pic); _tempChats.Add(resultChat.Id); var messageRepository = new MessagesRepository(ConnectionString); var resultMsg = messageRepository.Send(msg, resultUser1.Id, resultChat.Id, atch); var resultAttachs = messageRepository.GetMessageAttachs(resultMsg.Id); _tempMessages.Add(resultMsg.Id); //asserts Assert.AreEqual(2, resultAttachs.Count()); /*Assert.AreEqual(true, resultAttachs.Any(a => a.Path == atch[0] && a.Sender.Id == resultUser1.Id)); * Assert.AreEqual(true, resultAttachs.Any(a => a.Path == atch[1] && a.Sender.Id == resultUser1.Id));*/ }
public void ShouldAddMembers() { _tempUsers.Clear(); User user1 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); User user2 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); User user3 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); _tempUsers.Add(user3.Id); UsersRepository userRepository = new UsersRepository(_connectionString); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var resultCreate = chatRepository.Create(new[] { user1.Id, user2.Id }, "NewChat"); chatRepository.AddMembers(_tempUsers, resultCreate.Id, user2.Id); var result = chatRepository.GetChatMembers(resultCreate.Id); Assert.AreEqual(3, result.Count()); }
public void ShouldGetChatMessages() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] { } }; var login = "******"; var password = "******"; var title = "chatTitle"; var pic = new byte[] {}; string msg1 = "TestText of msg"; string msg2 = "TestText of msg2"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var userIds = new List <Guid> { resultUser1.Id, resultUser2.Id }; _tempUsers.AddRange(userIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds, pic); _tempChats.Add(resultChat.Id); var messageRepository = new MessagesRepository(ConnectionString); var resultMsg1 = messageRepository.Send(msg1, resultUser1.Id, resultChat.Id); var resultMsg2 = messageRepository.Send(msg2, resultUser2.Id, resultChat.Id); var resultMessages = chatRepository.GetChatMessages(resultChat.Id); _tempMessages.AddRange(new List <Guid> { resultMsg1.Id, resultMsg2.Id }); //asserts Assert.AreEqual(resultMessages.Any(a => a.Text == msg1 && a.Sender.Id == resultUser1.Id), true); Assert.AreEqual(resultMessages.Any(a => a.Text == msg2 && a.Sender.Id == resultUser2.Id), true); }
public void ShouldCreateChat() { _tempUsers.Clear(); _tempUsers1.Clear(); User user1 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); User user2 = Datalayer.Sql.Tests.Helper.CreateUser(_connectionString, Datalayer.Sql.Tests.Helper.NewUser()); UsersRepository userRepository = new UsersRepository(_connectionString); _tempUsers.Add(user1.Id); _tempUsers.Add(user2.Id); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var result = chatRepository.Create(_tempUsers, "NewChat"); _tempUsers1.Add(userRepository.Get(_tempUsers[0])); _tempUsers1.Add(userRepository.Get(_tempUsers[1])); Assert.AreEqual("NewChat", result.Name); Assert.AreEqual(_tempUsers1.OrderBy(u => u.Id).First().Id, result.Members.OrderBy(u => u.Id).First().Id); Assert.AreEqual(_tempUsers1.OrderBy(u => u.Id).Last().Id, result.Members.OrderBy(u => u.Id).Last().Id); }
public void ShouldSend() { User user1 = Helper.CreateUser(_connectionString, Helper.NewUser()); User user2 = Helper.CreateUser(_connectionString, Helper.NewUser()); UsersRepository userRepository = new UsersRepository(_connectionString); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var resultCreate = chatRepository.Create(new[] { user1.Id, user2.Id }, "HellowChat"); Message message = new Message { Text = "HelloWorld", UserId = user1.Id, ChatId = resultCreate.Id, }; MessagesRepository messagesRepository = new MessagesRepository(_connectionString, userRepository, chatRepository); var result = messagesRepository.Send(message.UserId, message.ChatId, message.Text, null); Assert.AreEqual(message.Text, result.Text); Assert.IsNotNull(result.Id); Assert.IsNotNull(result.Date); }
public void ShouldAddMembersToChat() { //arrange var user = new User { Name = "testCharUser", Picture = new byte[] { } }; var login = "******"; var password = "******"; var title = "chatTitle"; //act var userRepository = new UsersRepository(ConnectionString); var resultUser1 = userRepository.Create(user, login, password); var resultUser2 = userRepository.Create(user, login + "1", password); var resultUser3 = userRepository.Create(user, login + "2", password); var userIds = new List <Guid> { resultUser1.Id }; var newUserIds = new List <Guid> { resultUser2.Id, resultUser3.Id }; _tempUsers.AddRange(userIds); _tempUsers.AddRange(newUserIds); var chatRepository = new ChatsRepository(ConnectionString); var resultChat = chatRepository.Create(title, userIds); _tempChats.Add(resultChat.Id); chatRepository.AddMembers(resultChat.Id, newUserIds); var chatMembers = chatRepository.GetChatUsers(resultChat.Id); //asserts Assert.AreEqual(true, chatMembers.Any(m => m.Id == resultUser2.Id)); Assert.AreEqual(true, chatMembers.Any(m => m.Id == resultUser3.Id)); }
public void SholdGetAmount() { User user1 = Helper.CreateUser(_connectionString, Helper.NewUser()); User user2 = Helper.CreateUser(_connectionString, Helper.NewUser()); UsersRepository userRepository = new UsersRepository(_connectionString); ChatsRepository chatRepository = new ChatsRepository(_connectionString, userRepository); var resultCreate = chatRepository.Create(new[] { user1.Id, user2.Id }, "NewChat"); Message message1 = new Message { Text = "message", UserId = user1.Id, ChatId = resultCreate.Id, }; Message message2 = new Message { Text = "message2", UserId = user2.Id, ChatId = resultCreate.Id, }; Message message3 = new Message { Text = "message3", UserId = user1.Id, ChatId = resultCreate.Id, }; MessagesRepository messagesRepository = new MessagesRepository(_connectionString, userRepository, chatRepository); message1 = messagesRepository.Send(message1.UserId, message1.ChatId, message1.Text, null); message2 = messagesRepository.Send(message2.UserId, message2.ChatId, message2.Text, null); message3 = messagesRepository.Send(message3.UserId, message3.ChatId, message3.Text, null); var result = messagesRepository.GetAmountOfMessages(resultCreate.Id, 1, 1); Assert.AreEqual(1, result.Count()); }
public Chat Create([FromBody] Chat chat) => _chatsRepository.Create(chat);
public object Create([FromBody] Chat chat) { return(chatsRepository.Create(chat.Members.Select(u => u.Id).ToArray(), chat.Name)); }