/// <summary>
        /// William Clark
        /// Created: 2021/03/11
        ///
        /// Constructs a ClientDashboard
        /// </summary>
        ///
        /// <remarks>
        /// </remarks>
        ///
        /// <param name="user">The UserAccount for which to display this dashboard</param>
        public ClientDashboard(UserAccountVM user)
        {
            _user             = user;
            _userGroupManager = new UserGroupManager(new UserGroupFakes());
            _userManager      = new UserManager(new UserFakes());


            InitializeComponent();

            // Instantiates a new group member list page with the groups of which the user is a member
            try
            {
                List <UserGroup> userGroups = new List <UserGroup>();
                foreach (var membership in _user.Memberships)
                {
                    userGroups.Add(_userGroupManager.GetUserGroupByGroupID(membership.GroupID));
                }
                frmGroupMemberList.Navigate(new GroupMemberList(userGroups, _userGroupManager, _userManager, _user, "Client"));
            }
            catch (Exception)
            {
                MessageBox.Show("The Groups you belong to could not be found.");
            }
            lblCurrentDate.Content = DateTime.Today.ToShortDateString();
        }
        public void TestGetUserGroupByGroupIDReturnsUserGroup()
        {
            // Arrange
            UserGroup expectedResult = new UserGroup(1, 1);
            UserGroup actualResult;

            // Act
            actualResult = _userGroupManager.GetUserGroupByGroupID(1);

            // Assert
            Assert.AreEqual(expectedResult.GroupID, actualResult.GroupID);
            Assert.AreEqual(expectedResult.UserID_Owner, actualResult.UserID_Owner);
        }