Ejemplo n.º 1
0
        public void UpdateAlertInstantly_AsSuperUser_ReturnsNoError()
        {
            IUser viewingUser = mocks.DynamicMock<IUser>();
            viewingUser.Stub(x => x.IsEditor).Return(false);
            viewingUser.Stub(x => x.IsSuperUser).Return(true);

            ISiteList siteList = mocks.DynamicMock<ISiteList>();
            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(false);
            reader.Stub(x => x.Read()).Return(true);
            reader.Stub(x => x.GetInt32NullAsZero("ThreadBelongsToForum")).Return(1);


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

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

            Assert.IsNull(target.LastError);
        }
Ejemplo n.º 2
0
        public void UpdateAlertInstantly_NotAllowed_ReturnsError()
        {
            IUser viewingUser = mocks.DynamicMock<IUser>();
            viewingUser.Stub(x => x.IsEditor).Return(false);
            viewingUser.Stub(x => x.IsSuperUser).Return(false);

            ISiteList siteList = mocks.DynamicMock<ISiteList>();
            IDnaDataReader reader = mocks.DynamicMock<IDnaDataReader>();
            reader.Stub(x => x.HasRows).Return(false);
            reader.Stub(x => x.Read()).Return(true);
            reader.Stub(x => x.GetInt32NullAsZero("ThreadBelongsToForum")).Return(1);


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

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

            Assert.AreEqual("UpdateAlertInstantly", target.LastError.Type);
            Assert.AreEqual("Logged in user is not authorised to update AlertInstantly flag", target.LastError.ErrorMessage);
        }