Пример #1
0
        public void GetSitesUserIsMemberOf_NoMemberOfGroups_ReturnsEmptySiteIds()
        {
            var userId = 6;
            var groupName = "notagroup";
            var expectedSiteId = new List<int>();

            
            var cache = GetGroupsCache(_mocks);
            
            
            

            var creator = _mocks.DynamicMock<IDnaDataReaderCreator>();
            var diag = _mocks.DynamicMock<IDnaDiagnostics>();
            _mocks.ReplayAll();

            var obj = new UserGroups(creator, diag, cache, null, null);

            var siteIds = obj.GetSitesUserIsMemberOf(userId, groupName);
            Assert.AreEqual(expectedSiteId.Count, siteIds.Count);

        }
Пример #2
0
        public void GetSitesUserIsMemberOf_ValidUserWithGroups_ReturnsCorrectSiteIds()
        {
            var userId = 7;
            var siteId = 2;

            var groupName = "editor";
            var siteIds = new Queue<int>();
            siteIds.Enqueue(1);
            siteIds.Enqueue(2);
            siteIds.Enqueue(2);
            var userIds = new Queue<int>();
            userIds.Enqueue(6);
            userIds.Enqueue(6);
            userIds.Enqueue(7);
            
            var cache = GetGroupsCache(_mocks);

            var readerMembers = _mocks.DynamicMock<IDnaDataReader>();
            readerMembers.Stub(x => x.Read()).Return(true).Repeat.Times(3);
            readerMembers.Stub(x => x.GetString("name")).Return(groupName);
            readerMembers.Stub(x => x.GetInt32("siteid")).Return(1).WhenCalled(x => x.ReturnValue = siteIds.Dequeue());
            readerMembers.Stub(x => x.GetInt32("userid")).Return(1).WhenCalled(x => x.ReturnValue = userIds.Dequeue());
            readerMembers.Stub(x => x.GetInt32("groupid")).Return(1);

            var readerGetAllGroups = _mocks.DynamicMock<IDnaDataReader>();
            readerGetAllGroups.Stub(x => x.Read()).Return(true).Repeat.Once();
            readerGetAllGroups.Stub(x => x.GetString("groupname")).Return(groupName);
            readerGetAllGroups.Stub(x => x.GetInt32("groupid")).Return(1);

            var readerGetUserGroups = _mocks.DynamicMock<IDnaDataReader>();
            readerGetUserGroups.Stub(x => x.Read()).Return(false);

            var creator = _mocks.DynamicMock<IDnaDataReaderCreator>();
            creator.Stub(x => x.CreateDnaDataReader("GetAllGroups")).Return(readerGetAllGroups);
            creator.Stub(x => x.CreateDnaDataReader("fetchgroupsforuser")).Return(readerMembers);

            var diag = _mocks.DynamicMock<IDnaDiagnostics>();
            _mocks.ReplayAll();

            var obj = new UserGroups(creator, diag, cache, null, null);

            var returnedSiteIds = obj.GetSitesUserIsMemberOf(userId, groupName);
            Assert.AreEqual(1, returnedSiteIds.Count);
            Assert.IsTrue(returnedSiteIds.Contains(siteId));
        
        }