Exemplo n.º 1
0
        public async Task GetAllContactUs()
        {
            //Arrange
            //Mock MoveNextAsync
            Mock <IAsyncCursor <ContactUs> > _userCursor = new Mock <IAsyncCursor <ContactUs> >();

            _userCursor.Setup(_ => _.Current).Returns(_contactlist);
            _userCursor
            .SetupSequence(_ => _.MoveNext(It.IsAny <CancellationToken>()))
            .Returns(true)
            .Returns(false);

            //Mock FindSync
            _contactmockCollection.Setup(op => op.FindSync(It.IsAny <FilterDefinition <ContactUs> >(),
                                                           It.IsAny <FindOptions <ContactUs, ContactUs> >(),
                                                           It.IsAny <CancellationToken>())).Returns(_userCursor.Object);

            //Mock GetCollection
            _mockContext.Setup(c => c.GetCollection <ContactUs>(typeof(ContactUs).Name)).Returns(_contactmockCollection.Object);

            //Jayanth Creating one more instance of DB

            _mockOptions.Setup(s => s.Value).Returns(settings);

            // Creating one more instance of DB
            // Passing _mockOptions instaed of _mockContext
            var context = new MongoDBContext(_mockOptions.Object);

            var ContactUsRepo = new ContactUsRepository(context);

            //Act
            var result = await ContactUsRepo.AllContactUs();

            //Assert
            //loop only first item and assert
            foreach (ContactUs user in result)
            {
                Assert.NotNull(user);
                Assert.Equal(user.Name, _contactUs.Name);
                Assert.Equal(user.Email, _contactUs.Email);
                break;
            }
        }