コード例 #1
0
        public async Task Create_WithValidCourse_ReturnsProperView()
        {
            //Arrange
            var thread = new Thread()
            {
                Name        = "Random name",
                Description = "Random description"
            };

            var model = new ThreadCreationBindingModel()
            {
                Name        = thread.Name,
                Description = thread.Description
            };

            var mockRepository = new Mock <IAdminThreadsService>();

            mockRepository
            .Setup(repo => repo.AddThreadAsync(model))
            .ReturnsAsync(thread);

            var controller = new ThreadsController(mockRepository.Object);

            //Act
            var result = await controller.Create(model);

            //Assert
            Assert.IsInstanceOfType(result, typeof(RedirectToActionResult));
        }
コード例 #2
0
        public PostLoggerTest(ITestOutputHelper output)
        {
            this.output = output;
            ActionLoggerDummy dummy = new ActionLoggerDummy(output);

            controller = new ThreadsController(dummy, dummy);
        }
コード例 #3
0
        public void GetByIdShouldReturnThreadWithCirrectId()
        {
            AutoMapperConfig.RegisterMappings(Assembly.Load("ForumSystem.Api"));

            var controller = new ThreadsController(this.threadService);

            var thread = controller.GetById(1);

            var okResult = thread as OkNegotiatedContentResult<ThreadResponseModel>;

            Assert.IsNotNull(thread);
            Assert.AreEqual(1, okResult.Content.Id);
        }
コード例 #4
0
        public void GetByCategoryIdShouldReturnThreadsWithCategory()
        {
            AutoMapperConfig.RegisterMappings(Assembly.Load("ForumSystem.Api"));

            var controller = new ThreadsController(this.threadService);

            var allThreads = controller.GetByCategory(2);

            var okResult = allThreads as OkNegotiatedContentResult<List<ThreadResponseModel>>;

            Assert.IsNotNull(allThreads);
            Assert.AreEqual(2, okResult.Content.Count);
        }
コード例 #5
0
        public void PostShouldReturnCorrectThread()
        {
            AutoMapperConfig.RegisterMappings(Assembly.Load("ForumSystem.Api"));

            var controller = new ThreadsController(this.threadService);

            var okResponse = controller.Post(new ThreadRequestModel
            {
                Title = "Title",
                Content = "Content"
            });

            var okResult = okResponse as OkNegotiatedContentResult<ThreadResponseModel>;

            Assert.IsNotNull(okResponse);
            Assert.AreEqual(1, okResult.Content.Id);
            Assert.AreEqual("Some Content", okResult.Content.Content);
            Assert.AreEqual("Test Title", okResult.Content.Title);
        }
コード例 #6
0
        public void Create_WithValidCourse_ShouldCallService()
        {
            //Arrange
            var serviceCalled = false;
            var model         = new ThreadCreationBindingModel()
            {
                Name        = "Random name",
                Description = "Random description"
            };

            var mockRepository = new Mock <IAdminThreadsService>();

            mockRepository
            .Setup(repo => repo.AddThreadAsync(model))
            .Callback(() => serviceCalled = true);

            var controller = new ThreadsController(mockRepository.Object);

            //Act
            var result = controller.Create(model);

            //Assert
            Assert.IsTrue(serviceCalled);
        }
コード例 #7
0
        public void PostShouldValidateModelState()
        {
            AutoMapperConfig.RegisterMappings(Assembly.Load("ForumSystem.Api"));

            var controller = new ThreadsController(this.threadService);
            controller.Configuration = new HttpConfiguration();

            var model = new ThreadRequestModel
            {
                Content = "Content"
            };

            controller.Validate(model);
            var result = controller.Post(model);

            Assert.IsFalse(controller.ModelState.IsValid);
        }