public void UnitTestSubForumInvalidSubForum()
 {
     Assert.IsTrue(SubForum.create(null, "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("null", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum\n", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create(" forum", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", null, new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "null", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "subforum\n", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", " subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "subforum", null) == null);
     Assert.IsTrue(SubForum.create(null, "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("null", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum\n", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create(" forum", "subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", null, new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "null", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "subforum\n", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", " subforum", new List <Post>()) == null);
     Assert.IsTrue(SubForum.create("forum", "subforum", null) == null);
 }
        public void updateSubForumsList(SubForum[] subforums)
        {
            clearList();

            for (int i = 0; i < subforums.Length; i++)
                createNewLine(subforums[i].subForumTitle);
        }
Exemplo n.º 3
0
        public async Task <IActionResult> Edit(int id, [Bind("SubForumId,Name,Description,Picture")] SubForum subForum)
        {
            if (id != subForum.SubForumId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    await _subforumService.Update(subForum);
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!_subforumService.SubForumExists(subForum.SubForumId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(subForum));
        }
        public void UnitTestSubForumWritePost()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            Assert.IsTrue(sf.writePost(0, u, "title", "content").Equals("true"));
        }
        public void AddPost_returns_one_when_correct()
        {
            var user = new ForumUser {
                Id = Guid.NewGuid().ToString(), UserName = TestsConstants.TestUsername3
            };

            this.dbService.DbContext.Users.Add(user);
            this.dbService.DbContext.SaveChanges();

            var forum = new SubForum {
                Id = Guid.NewGuid().ToString(), Posts = new List <Models.Post>()
            };

            this.dbService.DbContext.Forums.Add(forum);
            this.dbService.DbContext.SaveChanges();

            var model = new PostInputModel {
                ForumId = forum.Id, Description = TestsConstants.ValidPostDescription, ForumName = forum.Name, Name = TestsConstants.ValidPostName
            };

            var expectedResult = 1;

            var actualResult = this.postService.AddPost(model, user, forum.Id).GetAwaiter().GetResult();

            Assert.Equal(expectedResult, actualResult);
        }
Exemplo n.º 6
0
        }//uc

        public IList <string> AllPostreplies(string forum, string sub, string parentPost, string user, string pass)
        {
            Forum         f        = this.OurSystem.GetForumByName(forum);
            Member        m        = f.GetMemberByNameAndPass(user, pass);
            SubForum      subforum = null;
            List <string> replies  = new List <string>();
            Post          p        = null;

            if (m != null && f.OnlineMember.Contains(m))
            {
                subforum = f.GetSubForumByName(sub);
                if (subforum != null)
                {
                    p = subforum.GetThreadByBody(parentPost);
                }
            }

            if (p != null)
            {
                for (int i = 0; i < p.getComments().Count; i++)
                {
                    replies.Add(p.getComments().ElementAt(i).getMsg());
                }
            }
            return(replies);
        } //get list of all replies of specific post
Exemplo n.º 7
0
 public addDiscussionView(ref IController controller, UserAccount user, SubForum sf)
 {
     InitializeComponent();
     _controller = controller;
     _user       = user;
     _sf         = sf;
 }
        public void UnitTestSubForumCreate()
        {
            Assert.IsTrue(SubForum.create("forum", "subforum", new List <Post>()) != null);
            User u   = User.create("user", "password", "*****@*****.**", "q", "a");
            Post t1  = Post.create("title1", "content1", u, null);
            Post t2  = Post.create("title2", "content2", u, null);
            Post t3  = Post.create("title3", "content3", u, null);
            Post p11 = Post.create("title11", "content11", u, t1);
            Post p21 = Post.create("title21", "content21", u, t2);
            Post p12 = Post.create("title12", "content12", u, p11);
            Post p31 = Post.create("title31", "content31", u, t3);

            p11.readReplies(new List <Post> {
                p12
            });
            t1.readReplies(new List <Post> {
                p11
            });
            t2.readReplies(new List <Post> {
                p21
            });
            t3.readReplies(new List <Post> {
                p31
            });
            Assert.IsTrue(SubForum.create("forum", "sub_forum", new List <Post> {
                t1, t2, t3
            }) != null);
        }
Exemplo n.º 9
0
        public Boolean deleteSubForum(string user, string pass, string forum, string sub)
        {
            Forum    f = this.OurSystem.GetForumByName(forum);
            Member   m = f.GetMemberByNameAndPass(user, pass);
            SubForum s = f.GetSubForumByName(sub);

            return(OurSystem.deleteSubForum(m, f, s));
        }
Exemplo n.º 10
0
 public Discussions_window(ref IController _controller, SubForum current)
 {
     WindowStartupLocation = WindowStartupLocation.CenterScreen;
     InitializeComponent();
     controller       = _controller;
     discussions      = new List <Disscusion>();
     discussions      = current.getDiscussions();
     this.DataContext = this;
 }
        public void UnitTestSubForumReplyToDeletedThread()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            sf.writePost(0, u, "title1", "content1");
            sf.deletePost(1, postDeletionPermission.WRITER, permission.MODERATOR, "user");
            Assert.IsTrue(!sf.writePost(1, u, "title2", "content2").Equals("true"));
        }
Exemplo n.º 12
0
        }//uc

        public Boolean deletePost(string user, string pass, string forum, string sub, string subject, string body)
        {
            Forum    f = this.OurSystem.GetForumByName(forum);
            Member   m = f.GetMemberByNameAndPass(user, pass);
            SubForum s = f.GetSubForumByName(sub);
            Post     p = s.GetThreadByBody(body);

            return(OurSystem.deletePost(m, p));
        }
Exemplo n.º 13
0
        public void UnitTestForumCreateForum()
        {
            ForumPolicy fp = new ForumPolicy();

            Assert.IsTrue(Forum.create("forum", fp, new List <SubForum>()
            {
                SubForum.create("forum", "subforum")
            }) != null);
        }
Exemplo n.º 14
0
        public int Delete(SubForum forum)
        {
            var forumPosts = this.dbService.DbContext.Posts.Where(p => p.ForumId == forum.Id).ToList();

            this.dbService.DbContext.RemoveRange(forumPosts);
            this.dbService.DbContext.Remove(forum);

            return(this.dbService.DbContext.SaveChanges());
        }
Exemplo n.º 15
0
 private void SetUp()
 {
     f = new Forum("forum test");
     f.ChangePolicy(new DefaultPolicy());
     f.Register("yaniv", "aaa", "*****@*****.**", "yanivra");
     m = f.login("yaniv", "aaa");
     f.AddNewSubForum("blabla", m);
     sf = new SubForum("maccabi");
 }
Exemplo n.º 16
0
        public async Task <IActionResult> Create([Bind("SubForumId,Name,Description,Picture")] SubForum subForum)
        {
            if (ModelState.IsValid)
            {
                await _subforumService.Add(subForum);

                return(RedirectToAction(nameof(Index)));
            }
            return(View(subForum));
        }
Exemplo n.º 17
0
        public void AddNewSubForumTest()
        {
            List <SubForum> FoodSubs         = new List <SubForum>();
            SubForum        PassoverRecepies = setUpSubForum(11, "PassoverRecepies", null, "Food");
            SubForum        ChosherRecepies  = setUpSubForum(12, "ChosherRecepies", null, "Food");

            FoodSubs.Add(PassoverRecepies);
            FoodSubs.Add(ChosherRecepies);
            Assert.IsTrue(subForumInForum(FoodSubs, Food));
        }
Exemplo n.º 18
0
        public void TestAddNewSubForum()
        {
            setUp();
            admin.AddNewSubForum("Books", m);
            SubForum        s   = new SubForum("Books");
            List <SubForum> lst = (List <SubForum>)f.getSubForum();

            Assert.IsTrue(lst[0].Name == s.Name);
            Assert.AreEqual(lst.Count, 1);
        }
        public void UnitTestSubForumDeleteReply()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            sf.writePost(0, u, "title1", "content1");
            sf.writePost(1, u, "title2", "content2");
            sf.writePost(2, u, "title3", "content3");
            Assert.IsTrue(sf.deletePost(2, postDeletionPermission.WRITER, permission.ADMIN, "user").Equals("true"));
            Assert.IsTrue(sf.getNumOfPOsts() == 1);
        }
Exemplo n.º 20
0
 public bool SubforumExists(SubForum subForum)
 {
     if (_context.SubForum.Any(o => o.Name == subForum.Name))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Exemplo n.º 21
0
        } // list of all posts in the subforum

        public Boolean addPost(string forum, string sub, string subject, string body, string user, string pass)
        {
            Forum    f        = this.OurSystem.GetForumByName(forum);
            Member   m        = f.GetMemberByNameAndPass(user, pass);
            SubForum subforum = null;

            if (m != null && f.OnlineMember.Contains(m))
            {
                subforum = f.GetSubForumByName(sub);
            }

            return(this.OurSystem.PublishNewThread(m, body, subforum));
        }//uc
Exemplo n.º 22
0
        } // get list of all moderators names

        public IList <string> subForumPosts(string user, string pass, string forum, string subForum)
        {
            List <string> ReturnValue = new List <string>();
            Forum         f           = this.OurSystem.GetForumByName(forum);
            Member        m           = f.GetMemberByNameAndPass(user, pass);
            SubForum      s           = f.GetSubForumByName(subForum);

            for (int i = 0; i < s.MyThreads.Count; i++)
            {
                ReturnValue.Add(s.MyThreads.ElementAt(i).getMsg());
            }
            return(ReturnValue);
        }
        public void UnitTestSubForumDeletePostFail()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            sf.writePost(0, u, "title1", "content1");
            Assert.IsTrue(!sf.deletePost(0, postDeletionPermission.WRITER, permission.MEMBER, "user").Equals("true"));
            Assert.IsTrue(!sf.deletePost(1, postDeletionPermission.WRITER, permission.MEMBER, "user1").Equals("true"));
            Assert.IsTrue(!sf.deletePost(1, postDeletionPermission.MODERATOR, permission.MEMBER, "user").Equals("true"));
            Assert.IsTrue(!sf.deletePost(1, postDeletionPermission.ADMIN, permission.MEMBER, "user").Equals("true"));
            Assert.IsTrue(!sf.deletePost(1, postDeletionPermission.SUPER_ADMIN, permission.MEMBER, "user").Equals("true"));
            Assert.IsTrue(!sf.deletePost(1, postDeletionPermission.INVALID, permission.MEMBER, "user").Equals("true"));
        }
        public void UnitTestSubForumEditPostFail()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            Assert.IsTrue(!sf.editPost(1, "superAdmin", permission.SUPER_ADMIN, "new content").Equals("true"));
            sf.writePost(0, u, "title1", "content1");
            Assert.IsTrue(!sf.editPost(2, "superAdmin", permission.SUPER_ADMIN, "new content").Equals("true"));
            sf.writePost(1, u, "title2", "content2");
            sf.deletePost(2, postDeletionPermission.MODERATOR, permission.SUPER_ADMIN, "superAdmin");
            Assert.IsTrue(!sf.editPost(2, "superAdmin", permission.SUPER_ADMIN, "new content").Equals("true"));
            sf.deletePost(1, postDeletionPermission.MODERATOR, permission.SUPER_ADMIN, "superAdmin");
            Assert.IsTrue(!sf.editPost(1, "superAdmin", permission.SUPER_ADMIN, "new content").Equals("true"));
        }
Exemplo n.º 25
0
        public ActionResult <SubForum> PostSubForum(SubForum subForum)
        {
            string authHeaderValue = Request.Headers["Authorization"];
            var    tokenClaims     = GetClaims(authHeaderValue.Substring("Bearer ".Length).Trim());

            subForum.UserId = Convert.ToInt32(tokenClaims.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value);
            if (subForum != null && !_subForumLogic.SubforumExists(subForum))
            {
                _subForumLogic.CreateSubForum(subForum);
                return(Ok());
            }
            else
            {
                return(StatusCode(422));
            }
        }
Exemplo n.º 26
0
        }                                                                                                                          // how much complains a moderator has

        public IList <string> subForumModerators(string user, string pass, string forum, string subForum)
        {
            List <string> ReturnValue = new List <string>();
            Forum         f           = this.OurSystem.GetForumByName(forum);
            Member        m           = f.GetMemberByNameAndPass(user, pass);
            SubForum      s           = f.GetSubForumByName(subForum);

            for (int i = 0; i < f.Members.Count; i++)
            {
                if ((f.Members.ElementAt(i).state is Moderator) && ((Moderator)f.Members.ElementAt(i).state).subForum.Name.Equals(subForum))
                {
                    ReturnValue.Add(f.Members.ElementAt(i).username);
                }
            }
            return(ReturnValue);
        } // get list of all moderators names
        private void SeedDb()
        {
            this.TruncateCategoriesTable();
            this.TruncateForumsTable();
            this.TruncatePostsTable();
            this.TruncateUsersTable();
            this.TruncateRolesTable();

            var ownerRole = new IdentityRole {
                Id = TestsConstants.TestId1, ConcurrencyStamp = "test", NormalizedName = Common.Role.Owner.ToUpper(), Name = Common.Role.Owner
            };
            var adminRole = new IdentityRole {
                Id = TestsConstants.TestId2, ConcurrencyStamp = "test", NormalizedName = Common.Role.Administrator.ToUpper(), Name = Common.Role.Administrator
            };
            var userRole = new IdentityRole {
                Id = TestsConstants.TestId3, ConcurrencyStamp = "test", NormalizedName = Common.Role.User.ToUpper(), Name = Common.Role.User
            };

            this.dbService.DbContext.Roles.Add(ownerRole);
            this.dbService.DbContext.Roles.Add(adminRole);
            this.dbService.DbContext.Roles.Add(userRole);
            this.dbService.DbContext.SaveChanges();

            ForumUser user, secondUser;

            SeedUsers(out user, out secondUser);

            this.userManager.AddToRoleAsync(user, Common.Role.Owner).GetAwaiter().GetResult();
            this.userManager.AddToRoleAsync(secondUser, Common.Role.User).GetAwaiter().GetResult();

            Models.Category category = SeedCategories(user, secondUser);

            var forum = new SubForum {
                Category = category, CategoryId = category.Id, Id = TestsConstants.TestId, Name = TestsConstants.ValidForumName
            };

            this.dbService.DbContext.Forums.Add(forum);
            this.dbService.DbContext.SaveChanges();

            var post = new Models.Post {
                Id = TestsConstants.TestId, Name = TestsConstants.ValidPostName, Forum = forum, ForumId = forum.Id
            };

            this.dbService.DbContext.Posts.Add(post);
            this.dbService.DbContext.SaveChanges();
        }
Exemplo n.º 28
0
        public Boolean promoteMemberToModerator(string user, string pass, string forum, string member, string subForum)
        {
            bool     res = false;
            Forum    f   = this.OurSystem.GetForumByName(forum);
            Member   m   = f.GetMemberByNameAndPass(user, pass);
            SubForum s   = f.GetSubForumByName(subForum);
            Member   MemberToModerator = null;

            for (int i = 0; i < f.Members.Count; i++)
            {
                if (f.Members.ElementAt(i).username.Equals(member))
                {
                    MemberToModerator = f.Members.ElementAt(i);
                }
            }

            return(this.OurSystem.promoteMemberToModerator(m, MemberToModerator, s));
        }
        public void UnitTestSubForumDeletePost()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            sf.writePost(0, u, "title1", "content1");
            sf.writePost(0, u, "title2", "content2");
            sf.writePost(0, u, "title3", "content3");
            sf.writePost(0, u, "title4", "content4");
            sf.writePost(0, u, "title5", "content5");
            sf.writePost(0, u, "title6", "content6");
            Assert.IsTrue(sf.deletePost(1, postDeletionPermission.WRITER, permission.MEMBER, "user").Equals("true"));
            Assert.IsTrue(sf.deletePost(2, postDeletionPermission.WRITER, permission.ADMIN, "user").Equals("true"));
            Assert.IsTrue(sf.deletePost(3, postDeletionPermission.MODERATOR, permission.ADMIN, "user").Equals("true"));
            Assert.IsTrue(sf.deletePost(4, postDeletionPermission.ADMIN, permission.ADMIN, "user").Equals("true"));
            Assert.IsTrue(sf.deletePost(5, postDeletionPermission.SUPER_ADMIN, permission.SUPER_ADMIN, "superAdmin").Equals("true"));
            Assert.IsTrue(sf.deletePost(6, postDeletionPermission.INVALID, permission.SUPER_ADMIN, "superAdmin").Equals("true"));
        }
        public void UnitTestSubForumCountPosts()
        {
            SubForum sf = SubForum.create("forum", "subforum");
            User     u  = User.create("user", "password", "*****@*****.**", "q", "a");

            sf.writePost(0, u, "title1", "content1");
            sf.writePost(0, u, "title2", "content2");
            sf.writePost(0, u, "title3", "content3");
            sf.writePost(1, u, "title11", "content11");
            sf.writePost(2, u, "title21", "content21");
            sf.writePost(4, u, "title12", "content12");
            sf.writePost(3, u, "title31", "content31");
            Assert.IsTrue(sf.getNumOfPOsts() == 7);
            sf.deletePost(4, postDeletionPermission.WRITER, permission.MODERATOR, "user");
            Assert.IsTrue(sf.getNumOfPOsts() == 5);
            sf.deletePost(2, postDeletionPermission.MODERATOR, permission.MODERATOR, "moderator");
            Assert.IsTrue(sf.getNumOfPOsts() == 3);
        }
        public void setUp()
        {
            Administrator sportsAdmin = new Administrator("guy godes", "abcde", "*****@*****.**");
            Forum         sports      = new Forum("Sports", sportsAdmin);

            Storage.forumStorage.Add(sports);
            Moderator basketBallMod = new Moderator("james", "jmsk", "*****@*****.**");

            Storage.moderatorStorage.Add(basketBallMod);
            SubForum basketball = new SubForum("BasketBall", basketBallMod);

            sports.addSubForum(basketball);
            Administrator compAdmin = new Administrator("john jj", "abcd", "*****@*****.**");

            Storage.adminStorage.Add(compAdmin);
            Administrator newAdmin = new Administrator("jj", "abcd", "*****@*****.**");

            Storage.adminStorage.Add(newAdmin);
        }