//using Centron.BusinessLogic; //using Centron.BusinessLogic.EmployeeArea; //using Centron.BusinessLogic.WebServices.Chats; //using Centron.Data.Entities.Administration.Logins; //using Centron.Interfaces.Chats; //using Centron.Tests.EndToEnd.Infrastructure; //using CentronSoftware.Centron.WebServices.Entities.Chats; //using System.Collections.Generic; //using System.Linq; //using Xunit.Abstractions; //namespace Centron.Tests.EndToEnd.Tests //{ // public class ChatTests : EndToEndTest // { // public ChatTests(ITestOutputHelper testOutputHelper) // : base(testOutputHelper) // { // } // public override void Go() // { // this.CreateChat(); // this.AddMemberToChat(); // this.RenameChat(); // this.SendMessages(); // this.CreateOtherChat(); // //this.SendMessagesInOtherChat(); // this.GetChats(); // this.GetMessages(); // } // private void CreateChat() // { // using (this.Assert.Context("CreateChat")) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == 11); // var chatDTO = session.GetBL().CreateChat("Test-Chat", null, null, currentUser); // this.Assert.NotNull("Chat", chatDTO); // using (this.Assert.Context("Chat")) // { // this.Assert.Equals("I3D", 1, chatDTO.I3D); // this.Assert.Equals("Name", "Test-Chat", chatDTO.Name); // this.Assert.Equals("ObjectKind", null, chatDTO.ObjectKind); // this.Assert.Equals("ObjectI3D", null, chatDTO.ObjectI3D); // this.Assert.NotNull("Members", chatDTO.Members); // this.Assert.Equals("Members.Count", 1, chatDTO.Members.Count); // } // var member = chatDTO.Members[0]; // this.Assert.NotNull("Members[0]", member); // using (this.Assert.Context("Members[0]")) // { // this.Assert.Equals("I3D", 1, member.I3D); // this.Assert.Equals("EmployeeI3D", 22, member.EmployeeI3D); // this.Assert.Equals("DisplayName", "c-entron", member.DisplayName); // } // } // } // private void AddMemberToChat() // { // using (this.Assert.Context("AddOtherMemberToChat")) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == 11); // var otherMember = session.GetBL().AddMemberToChat(1, 23, currentUser); // this.Assert.NotNull("OtherMember", otherMember); // using (this.Assert.Context("OtherMember")) // { // this.Assert.Equals("I3D", 2, otherMember.I3D); // this.Assert.Equals("EmployeeI3D", 23, otherMember.EmployeeI3D); // this.Assert.Equals("DisplayName", "Markus", otherMember.DisplayName); // } // } // } // private void RenameChat() // { // using (this.Assert.Context("RenameChat")) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == 11); // var renamed = session.GetBL().RenameChat(1, "Renamed", new LoggedInUser(currentUser)); // this.Assert.NotNull("Chat", renamed); // this.Assert.Equals("ChatName", "Renamed", renamed.Name); // } // } // private void SendMessages() // { // void ValidateChatMessageSync(ChatMessageSyncDTO chatMessage, int chatUpdateCount, int messageI3D, int memberI3D, string text, bool isDeleted) // { // this.Assert.NotNull("ChatMessageSync", chatMessage); // using (this.Assert.Context("ChatMessageSync")) // { // this.Assert.Equals("ChatUpdateCount", chatUpdateCount, chatMessage.ChatUpdateCount); // var message = chatMessage.Message; // this.Assert.NotNull("Message", message); // using (this.Assert.Context("Message")) // { // this.Assert.Equals("I3D", messageI3D, message.I3D); // this.Assert.Equals("ChatI3D", 1, message.ChatI3D); // this.Assert.Equals("MemberI3D", memberI3D, message.MemberI3D); // this.Assert.Equals("Message", text, message.Message); // this.Assert.Equals("IsDeleted", isDeleted, message.IsDeleted); // } // } // } // void SendMessage(string context, int from, int memberI3D, string text, int chatUpdateCount, int messageI3D) // { // using (this.Assert.Context(context)) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == @from); // //var chatMessage = session.GetBL().SendChatMessage(1, text, new LoggedInUser(currentUser)); // //ValidateChatMessageSync(chatMessage, chatUpdateCount, messageI3D, memberI3D, text, isDeleted: false); // } // } // void EditMessage(string context, int from, int memberI3D, string text, int chatUpdateCount, int messageI3D) // { // using (this.Assert.Context(context)) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == @from); // var chatMessage = session.GetBL().EditChatMessage(messageI3D, text, new LoggedInUser(currentUser)); // ValidateChatMessageSync(chatMessage, chatUpdateCount, messageI3D, memberI3D, text, isDeleted: false); // } // } // void DeleteMessage(string context, int from, int memberI3D, int chatUpdateCount, int messageI3D) // { // using (this.Assert.Context(context)) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == @from); // var chatMessage = session.GetBL().DeleteChatMessage(messageI3D, new LoggedInUser(currentUser)); // ValidateChatMessageSync(chatMessage, chatUpdateCount, messageI3D, memberI3D, "Gelöscht.", isDeleted: true); // } // } // using (this.Assert.Context("SendMessages")) // { // SendMessage("Message1", from: 11, memberI3D: 1, text: "Hey wie gehts?", chatUpdateCount: 1, messageI3D: 1); // SendMessage("Message2", from: 12, memberI3D: 2, text: "Soweit ganz gut", chatUpdateCount: 2, messageI3D: 2); // SendMessage("Message3", from: 12, memberI3D: 2, text: "und selber?", chatUpdateCount: 3, messageI3D: 3); // SendMessage("Message4", from: 11, memberI3D: 1, text: "Bin Schwabe, kann mich nicht beklagen", chatUpdateCount: 4, messageI3D: 4); // EditMessage("EditMessage", from: 11, memberI3D: 1, text: "Passt scho", chatUpdateCount: 5, messageI3D: 4); // DeleteMessage("DeleteMessage", from: 11, memberI3D: 1, chatUpdateCount: 6, messageI3D: 4); // } // } // private void CreateOtherChat() // { // using (this.Assert.Context("CreateOtherChat")) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == 13); // var chatDTO = session.GetBL().CreateChat("Other-Chat", null, null, currentUser); // this.Assert.NotNull("Chat", chatDTO); // } // } // private void SendMessagesInOtherChat() // { // using (this.Assert.Context("CreateOtherChat")) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == 13); // //session.GetBL().SendChatMessage(2, "Hey", new LoggedInUser(currentUser)); // //session.GetBL().SendChatMessage(2, "Test", new LoggedInUser(currentUser)); // //session.GetBL().SendChatMessage(2, "Läuft bei mir", new LoggedInUser(currentUser)); // } // } // private void GetChats() // { // void GetAndValidateChat(string context, int currentAppUserI3D, ChatFilter filter, int chatI3D, int memberCount) // { // using (this.Assert.Context(context)) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == currentAppUserI3D); // var chats = session.GetBL().GetChats(filter, new LoggedInUser(currentUser)); // this.Assert.NotNull("Chats", chats); // this.Assert.Equals("Chats.Count", 1, chats.Count); // var chat = chats[0].Chat; // this.Assert.NotNull("Chats[0]", chat); // using (this.Assert.Context("Chats[0]")) // { // this.Assert.Equals("I3D", chatI3D, chat.I3D); // this.Assert.Equals("Members.Count", memberCount, chat.Members.Count); // } // } // } // using (this.Assert.Context("GetChats")) // { // GetAndValidateChat("GetOwnChats (User 1)", 11, new ChatFilter { OnlyOwn = true }, chatI3D: 1, memberCount: 2); // GetAndValidateChat("GetOwnChats (User 2)", 12, new ChatFilter { OnlyOwn = true }, chatI3D: 1, memberCount: 2); // GetAndValidateChat("GetChatById (User 1)", 11, new ChatFilter { I3Ds = new List { 1 } }, chatI3D: 1, memberCount: 2); // GetAndValidateChat("GetChatById (User 2)", 12, new ChatFilter { I3Ds = new List { 1 } }, chatI3D: 1, memberCount: 2); // GetAndValidateChat("GetChatById (User 3)", 13, new ChatFilter { I3Ds = new List { 2 } }, chatI3D: 2, memberCount: 1); // } // } // private void GetMessages() // { // using (this.Assert.Context("GetMessages")) // using (var session = new BLSession()) // { // var currentUser = session.GetBL().GetAppUser(f => f.I3D == 11); // var messages = session.GetBL().GetChatMessages(new ChatMessageFilter { ChatI3D = 1 }, 1, new LoggedInUser(currentUser)); // this.Assert.NotNull("Messages", messages); // this.Assert.Equals("Messages.Count", 4, messages.Count); // this.Assert.Equals("Messages.CountOfChatI3D", 1, messages.GroupBy(f => f.Message.ChatI3D).Count()); // this.Assert.Equals("Messages.ChatI3D", 1, messages[0].Message.ChatI3D); // this.Assert.Equals("Messages.ChatUpdateCount", 6, messages[0].ChatUpdateCount); // } // } // } //}