Exemple #1
0
        public void CloseThread_AsAuthorWithSiteOption_CallsSp()
        {
            IUser viewingUser = mocks.DynamicMock<IUser>();
            viewingUser.Stub(x => x.IsEditor).Return(false);
            viewingUser.Stub(x => x.IsSuperUser).Return(false);

            ISiteList siteList = mocks.DynamicMock<ISiteList>();
            siteList.Stub(x => x.GetSiteOptionValueBool(0, "Forum", "ArticleAuthorCanCloseThreads")).Return(true);

            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(true);
            reader.Stub(x => x.Read()).Return(true);

            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("closethread")).Return(reader).Repeat.AtLeastOnce();
            creator.Stub(x => x.CreateDnaDataReader("isuserinauthormembersofarticle")).Return(reader);
            mocks.ReplayAll();

            ForumHelper target = new ForumHelper(creator, viewingUser, siteList);
            target.CloseThread(0, 0, 0);

        }
Exemple #2
0
        public void CloseThread_NotAuthorWithSiteOption_CallsSp()
        {
            IUser viewingUser = mocks.DynamicMock<IUser>();
            viewingUser.Stub(x => x.IsEditor).Return(false);
            viewingUser.Stub(x => x.IsSuperUser).Return(false);

            ISiteList siteList = mocks.DynamicMock<ISiteList>();
            siteList.Stub(x => x.GetSiteOptionValueBool(0, "Forum", "ArticleAuthorCanCloseThreads")).Return(true);

            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(false);
            reader.Stub(x => x.Read()).Return(false);

            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("closethread")).Throw(new Exception("closethread should not have been called"));
            creator.Stub(x => x.CreateDnaDataReader("isuserinauthormembersofarticle")).Return(reader);
            mocks.ReplayAll();

            ForumHelper target = new ForumHelper(creator, viewingUser, siteList);
            target.CloseThread(0, 0, 0);

            Assert.AreEqual("CloseThread", target.LastError.Type);
            Assert.AreEqual("Logged in user is not authorised to close threads", target.LastError.ErrorMessage);


        }
Exemple #3
0
        public void CloseThread_AsSuperUser_CallsSp()
        {
            IUser viewingUser = mocks.DynamicMock<IUser>();
            viewingUser.Stub(x => x.IsEditor).Return(false);
            viewingUser.Stub(x => x.IsSuperUser).Return(true);

            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(false);
            reader.Stub(x => x.Read()).Return(false);

            IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("closethread")).Return(reader).Repeat.AtLeastOnce();
            mocks.ReplayAll();

            ForumHelper target = new ForumHelper(creator, viewingUser, null);
            target.CloseThread(0, 0, 0);

        }