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); }
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); }
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); }