Наследование: ControllerBase
Пример #1
0
        public static IForumsController GetForumsController(IDataProvider repository)
        {
            var ctl = ComponentFactory.GetComponent <IForumsController>();

            if (ctl == null)
            {
                ctl = new ForumsController(repository);
                ComponentFactory.RegisterComponentInstance <IForumsController>(ctl);
            }
            return(ctl);
        }
Пример #2
0
        public static IForumsController GetForumsController(IDataProvider repository)
        {
            var ctl = ComponentFactory.GetComponent<IForumsController>();

            if (ctl == null)
            {
                ctl = new ForumsController(repository);
                ComponentFactory.RegisterComponentInstance<IForumsController>(ctl);
            }
            return ctl;
        }
Пример #3
0
        public async Task GetAllForums_ShouldReturnAllForums()
        {
            var data = new List <Forum>
            {
                new Forum {
                    Id = 1, Name = "Forum 1", Created = DateTime.Now
                },
                new Forum {
                    Id = 2, Name = "Forum 2", Created = DateTime.Now
                },
                new Forum {
                    Id = 3, Name = "Forum 3", Created = DateTime.Now
                },
                new Forum {
                    Id = 4, Name = "Forum 4", Created = DateTime.Now
                }
            }.AsQueryable();

            var mockSet = new Mock <DbSet <Forum> >();

            mockSet.As <IDbAsyncEnumerable <Forum> >()
            .Setup(m => m.GetAsyncEnumerator())
            .Returns(new TestDbAsyncEnumerator <Forum>(data.GetEnumerator()));

            mockSet.As <IQueryable <Forum> >()
            .Setup(m => m.Provider)
            .Returns(new TestDbAsyncQueryProvider <Forum>(data.Provider));

            mockSet.As <IQueryable <Forum> >().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As <IQueryable <Forum> >().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As <IQueryable <Forum> >().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockContext = new Mock <ApplicationDbContext>();

            mockContext.Setup(c => c.Forums).Returns(mockSet.Object);

            var controller = new ForumsController(mockContext.Object);
            var result     = await controller.Get();

            var okNegotiated = (OkNegotiatedContentResult <ForumDTO[]>)result;

            Assert.AreEqual(okNegotiated.Content.AsQueryable().ElementAt(0).Id, data.ElementAt(0).Id);
        }
 public ForumsControllerTest()
 {
     _forumsController = new ForumsController();
 }