Пример #1
0
        public void Test_GetAllAccessGroups_ReturnsAllAccessGroups()
        {
            //Arrange
            var expected = new List <UserAccessGroup>
            {
                new UserAccessGroup
                {
                    UserAccessGroupID = 1,
                    GroupName         = "Test"
                },

                new UserAccessGroup
                {
                    UserAccessGroupID = 2,
                    GroupName         = "Test test"
                }
            };

            var testData = new List <UserAccessGroup>
            {
                new UserAccessGroup
                {
                    UserAccessGroupID = 1,
                    GroupName         = "Test"
                },

                new UserAccessGroup
                {
                    UserAccessGroupID = 2,
                    GroupName         = "Test test"
                }
            }.AsQueryable();

            var mockDbSet = new Mock <DbSet <UserAccessGroup> >();

            mockDbSet.As <IQueryable <UserAccessGroup> >().Setup(m => m.Provider).Returns(testData.Provider);
            mockDbSet.As <IQueryable <UserAccessGroup> >().Setup(m => m.Expression).Returns(testData.Expression);
            mockDbSet.As <IQueryable <UserAccessGroup> >().Setup(m => m.ElementType).Returns(testData.ElementType);
            mockDbSet.As <IQueryable <UserAccessGroup> >().Setup(m => m.GetEnumerator()).Returns(testData.GetEnumerator());

            var mockContext = new Mock <SystemAdminContext>();

            mockContext.Setup(x => x.AccessGroups).Returns(mockDbSet.Object);

            var classUnderTest = new CRUD_Operations(mockContext.Object);

            //Act
            var actual = classUnderTest.GetAllAccessGroups();

            //Assert
            Assert.AreEqual(expected.Count, actual.Count);
            Assert.AreEqual(expected[0].UserAccessGroupID, actual[0].UserAccessGroupID);
            Assert.AreEqual(expected[1].UserAccessGroupID, actual[1].UserAccessGroupID);
            Assert.AreEqual(expected[0].GroupName, actual[0].GroupName);
            Assert.AreEqual(expected[1].GroupName, actual[1].GroupName);
        }