public void UpdateForumPermissions_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(false); IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("updateforumpermissions")).Return(reader).Repeat.AtLeastOnce(); mocks.ReplayAll(); ForumHelper target = new ForumHelper(creator, viewingUser, siteList); target.UpdateForumPermissions(0, 0, 0, 0, 0); Assert.IsNull(target.LastError); }
public void UpdateForumPermissions_NotAllow_ReturnsValidError() { 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(false); IDnaDataReaderCreator creator = mocks.DynamicMock<IDnaDataReaderCreator>(); creator.Stub(x => x.CreateDnaDataReader("updateforumpermissions")).Return(reader).Throw(new Exception("updateforumpermissions should not be called")); mocks.ReplayAll(); ForumHelper target = new ForumHelper(creator, viewingUser, siteList); target.UpdateForumPermissions(0,0,0,0,0); Assert.AreEqual("UpdateForumPermissions", target.LastError.Type); Assert.AreEqual("Logged in user is not authorised to update forum permissions", target.LastError.ErrorMessage); }