Example #1
0
        public void JoinAsMember(Guid meetingId, string userNameWithDomain)
        {
            User    user    = this.userFactory.Create(userNameWithDomain);
            Meeting meeting = this.bunchOfMeetings.Get(meetingId);

            meeting.AddMember(user);
        }
Example #2
0
        private HashSet <Meeting> Load()
        {
            var meetings = this.cache.Get <HashSet <Meeting> >(this.cacheKey);

            if (meetings is null)
            {
                meetings = new HashSet <Meeting>();
                var meeting = new Meeting("Game of Thrones");
                meeting.AddMember(new User("DOMAIN\\Tyrion"));
                meeting.AddLeader(new User("DOMAIN\\Joffrey"));
                meeting.AddMember(new User("DOMAIN\\Cersei"));
                meeting.AddMember(new User("DOMAIN\\Varys"));

                meetings.Add(meeting);
                this.Save(meetings);
            }

            return(meetings);
        }
Example #3
0
        public void WhenOneMemberAndNoLeader_ArrangeTeams_TeamsShouldBeEmpty()
        {
            Meeting meeting = this.EmptyMeeting();
            User    user    = new User("domain\\user");

            meeting.AddMember(user);

            IEnumerable <Team> teams = meeting.Teams;

            teams.Should().BeEmpty();
        }
Example #4
0
        public void WhenUserIsMember_WhenAddedAsLeader_NoLongerIsMember()
        {
            Meeting meeting = this.EmptyMeeting();
            User    user    = new User("domain\\user");

            meeting.AddMember(user);

            meeting.AddLeader(user);

            meeting.Leaders.Should().Contain(user);
            meeting.Members.Should().NotContain(user);
        }
Example #5
0
        public void WhenUserAdded5TimesAsMember_MeetingContainsOnly1Member()
        {
            Meeting meeting = this.EmptyMeeting();
            User    user    = new User("domain\\user");

            for (int i = 0; i < 5; i++)
            {
                meeting.AddMember(user);
            }

            meeting.Members.Should().Contain(user);
            meeting.Members.Should().ContainSingle();
        }
Example #6
0
        public void WhenOneMemberAndOneLeader_ArrangeTeams_TeamsShouldContain2Users()
        {
            Meeting meeting = this.EmptyMeeting();
            User    user1   = new User("domain\\user1");
            User    user2   = new User("domain\\user2");

            meeting.AddLeader(user1);
            meeting.AddMember(user2);

            meeting.ArrangeTeams();
            IEnumerable <Team> teams = meeting.Teams;

            teams.Should().HaveCount(1);
            teams.Single().Users.Should().HaveCount(1);
            teams.Single().Users.Should().Contain(user2);
            teams.Single().Leader.Should().Be(user1);
        }