Example #1
0
        public void When_Double_Invite_Is_Sent_Then_Only_One_Is_Kept()
        {
            _business = new ServerBusiness(GroupsSaveFile, ClientsSaveFile);
            _business.CreateUser("soyElAdmin", "holaSombreros");
            _business.CreateUser("noSoyElAdmin", "laAguaAzul");
            _business.CreateGroup("LosBanditos", "¡Mira este hijo!", "soyElAdmin");

            _business.SendClientGroupInvitation("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            _business.SendClientGroupInvitation("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            var notifs = _business.GetNotification("noSoyElAdmin");

            Assert.IsTrue(notifs.Count == 1);
        }
Example #2
0
        public void When_Changing_Group_Admin_Then_Rights_Are_Swapped()
        {
            _business = new ServerBusiness(GroupsSaveFile, ClientsSaveFile);
            _business.CreateUser("soyElAdmin", "holaSombreros");
            _business.CreateUser("noSoyElAdmin", "laAguaAzul");
            _business.CreateGroup("LosBanditos", "¡Mira este hijo!", "soyElAdmin");

            _business.SendClientGroupInvitation("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            _business.AcknowledgeInvite("noSoyElAdmin", "LosBanditos", true);
            Assert.AreEqual("soyElAdmin", _business.GetGroupList().FirstOrDefault(g => g.Name == "LosBanditos")?.Administrator.Name);

            _business.ChangeAdministratorGroup("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            Assert.AreEqual("noSoyElAdmin", _business.GetGroupList().FirstOrDefault(g => g.Name == "LosBanditos")?.Administrator.Name);
        }
Example #3
0
        public void When_Invite_Is_Sent_Then_User_Has_Notification()
        {
            _business = new ServerBusiness(GroupsSaveFile, ClientsSaveFile);
            _business.CreateUser("soyElAdmin", "holaSombreros");
            _business.CreateUser("noSoyElAdmin", "laAguaAzul");
            _business.CreateGroup("LosBanditos", "¡Mira este hijo!", "soyElAdmin");

            _business.SendClientGroupInvitation("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            var notifs = _business.GetNotification("noSoyElAdmin");

            Assert.IsTrue(notifs.Count == 1);
            Assert.IsTrue(notifs.FirstOrDefault()?.ActionType == ActionType.Invite);
            Assert.IsTrue(notifs.FirstOrDefault()?.ClientName == "noSoyElAdmin");
            Assert.IsTrue(notifs.FirstOrDefault()?.GroupName == "LosBanditos");
        }
Example #4
0
        public void When_Admin_Kicks_User_Then_User_Is_Removed()
        {
            _business = new ServerBusiness(GroupsSaveFile, ClientsSaveFile);
            _business.CreateUser("soyElAdmin", "holaSombreros");
            _business.CreateUser("noSoyElAdmin", "laAguaAzul");
            _business.CreateGroup("LosBanditos", "¡Mira este hijo!", "soyElAdmin");
            _business.SendClientGroupInvitation("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            _business.AcknowledgeInvite("noSoyElAdmin", "LosBanditos", true);

            var group = _business.GetGroupList().FirstOrDefault(g => g.Name == "LosBanditos");

            Assert.IsTrue(group?.Members.Count == 2);

            _business.KickUserFromGroup("soyElAdmin", "noSoyElAdmin", "LosBanditos");

            Assert.IsTrue(group.Members.Count == 1);
            Assert.IsTrue(_business.GetGroupListForClient("noSoyElAdmin").Count == 0);
        }
Example #5
0
        public void When_Invite_Is_Sent_Then_User_Can_Join()
        {
            _business = new ServerBusiness(GroupsSaveFile, ClientsSaveFile);
            _business.CreateUser("soyElAdmin", "holaSombreros");
            _business.CreateUser("noSoyElAdmin", "laAguaAzul");
            _business.CreateGroup("LosBanditos", "¡Mira este hijo!", "soyElAdmin");

            _business.SendClientGroupInvitation("soyElAdmin", "noSoyElAdmin", "LosBanditos");
            var notif = _business.GetNotification("noSoyElAdmin").FirstOrDefault();

            _business.AcknowledgeInvite(notif?.ClientName, notif?.GroupName, true);

            var groupsForClient = _business.GetGroupListForClient(notif?.ClientName);

            Assert.IsTrue(groupsForClient.Count == 1);
            var group = groupsForClient.FirstOrDefault();

            Assert.IsTrue(group != null && group.Members.Exists(m => m.Name == notif?.ClientName));
        }