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