Exemplo n.º 1
0
        public async Task TaskSubitemDetailsTest()
        {
            var mockServiceProvider    = new MockServiceProvider();
            var mockUserService        = new Mock <IUserService>();
            var mockTaskSubitemService = new Mock <ITaskSubitemService>();
            var mockTaskItemService    = new Mock <ITaskItemService>();

            mockUserService.Setup(x => x.GetUsersFromGroup(It.IsAny <string>()))
            .ReturnsTask <IUserService, string, ObservableCollection <User> >(GetUsersFromGroup);

            mockTaskSubitemService.Setup(x => x.GetTaskSubitems(It.IsAny <string>()))
            .ReturnsTask <ITaskSubitemService, string, ObservableCollection <TaskSubitem> >(GetTaskSubitems);

            mockTaskSubitemService.Setup(x => x.GetAvailableTaskStatuses())
            .ReturnsTask <ITaskSubitemService, ObservableCollection <TaskStatus> >(GetAvailableTaskStatuses);

            mockTaskItemService.Setup(x => x.GetTaskItemById(It.IsAny <string>()))
            .ReturnsTask <ITaskItemService, string, TaskItem>(GetTaskItemById);

            mockUserService.Setup(x => x.GetUserId(It.IsAny <string>(), It.IsAny <UserDomainEnum>()))
            .ReturnsTask <IUserService, string, UserDomainEnum, string>((x, y) => "1234");

            mockTaskSubitemService.Setup(x => x.GetTaskSubitemById(It.IsAny <string>()))
            .ReturnsTask <ITaskSubitemService, string, TaskSubitem>(GetTaskSubitemById);

            mockTaskSubitemService.Setup(x => x.GetTaskSubitemNameByTaskSubitemId(It.IsAny <string>()))
            .ReturnsTask <ITaskSubitemService, string, string>(GetTaskSubitemNameByTaskSubitemId);


            mockServiceProvider.Container.RegisterInstance(typeof(IUserService), mockUserService.Object);
            mockServiceProvider.Container.RegisterInstance(typeof(ITaskSubitemService), mockTaskSubitemService.Object);
            mockServiceProvider.Container.RegisterInstance(typeof(ITaskItemService), mockTaskItemService.Object);

            var controller = new TaskSubitemController(mockServiceProvider);
            var result     = (await controller.Details("1", "1")) as ViewResult;

            Assert.AreEqual("1", ((TaskSubitemModel)result.Model).Id);
        }