public SourceTest()
 {
     //Arrange
     controller = new SourcesController(new InMemoryAgent());
     //must set explicitly for tests to work
     controller.ObjectValidator = new InMemoryModelValidator();
 }
Beispiel #2
0
        public async Task Update_ReturnsBadRequest_WhenRequestedIdDoesNotMatchCommandId()
        {
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Update(1, 1, 1, 2, updateCommand);

            Assert.IsInstanceOf(typeof(BadRequestResult), result.Result);
        }
Beispiel #3
0
        public async Task Delete_ReturnsNoContent()
        {
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Delete(1, 1, 1, 1);

            Assert.IsInstanceOf(typeof(NoContentResult), result);
        }
Beispiel #4
0
        public void Create_ModelNotValid_ReturnsErrors()
        {
            var mockListQuery     = new Mock <IGetSourceListQuery>();
            var mockCreateCommand = new Mock <ICreateSourceCommand>();
            var controller        = new SourcesController(mockListQuery.Object, mockCreateCommand.Object);
            var viewResult        = (ViewResult)controller.Create(null);

            Assert.NotNull(viewResult);
            Assert.Null(viewResult.ViewName); // same action
        }
        public void GetAllSources_ShouldReturn_Sources()
        {
            _sourceRepository
            .Setup(x => x.GetSources())
            .Returns(Task.FromResult(DataServices.SourcesMockData.getSourcesList()));

            var controllerInit = new SourcesController(_sourceRepository.Object);
            var response       = controllerInit.GetAllSources();

            Assert.True(response != null);
        }
Beispiel #6
0
        public void ConstructorShouldRegisterAllDependencies()
        {
            // Arrange
            var apiResult = new Mock <IApiResult>().Object;

            // Act
            var controller = new SourcesController(apiResult);

            // Assert
            controller.Should().NotBeNull();
        }
Beispiel #7
0
        public void Index_NoSources_ModelShouldNotBeNull()
        {
            var mockListQuery     = new Mock <IGetSourceListQuery>();
            var mockCreateCommand = new Mock <ICreateSourceCommand>();

            mockListQuery.Setup(s => s.Execute()).Returns(new List <SourceModel>());
            var controller = new SourcesController(mockListQuery.Object, mockCreateCommand.Object);
            var viewResult = (ViewResult)controller.Index();

            Assert.NotNull(viewResult);
            Assert.NotNull(viewResult.Model);
        }
Beispiel #8
0
        public void Create_ExecuteThrowsException_ReturnsCreateView()
        {
            var mockListQuery     = new Mock <IGetSourceListQuery>();
            var mockCreateCommand = new Mock <ICreateSourceCommand>();

            mockCreateCommand.Setup(s => s.Execute(null)).Throws(new Exception());
            var controller = new SourcesController(mockListQuery.Object, mockCreateCommand.Object);
            var viewResult = (ViewResult)controller.Create(null);

            Assert.NotNull(viewResult);
            Assert.Null(viewResult.ViewName); // same action
        }
Beispiel #9
0
        public void TestAddStory()
        {
            // Arrange
            var repo = new FakeRepository();
            var sourcesController = new SourcesController(repo);

            // Act
            sourcesController.AddStory("A_User", "TestStoryPost");
            // Assert
            Assert.Equal("A_User", repo.UserStories[0].UserName.Name);
            Assert.Equal("TestStoryPost", repo.UserStories[0].StoryPost);
        }
        public void Sources_Create_Get()
        {
            // Arrange
            var db = new Mock<IPersonalInformationManagerContext>();
            SourcesController controller = new SourcesController(db.Object);

            // Act
            ViewResult result = controller.Create() as ViewResult;
            
            // Assert
            Assert.IsNotNull(result);
        }
Beispiel #11
0
        public async Task Create_ReturnsBadRequest_WhenRequestedPathIdDoesNotMatchCommandId()
        {
            var createCommand = new CreateSource {
                PathId = 1, ModuleId = 1, ThemeId = 1,
                Order  = 0, Title = "Create title", Description = "Create Description", Url = "http://www.ww.ww"
            };
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Create(2, 1, 1, createCommand);

            Assert.IsInstanceOf(typeof(BadRequestResult), result.Result);
        }
Beispiel #12
0
        public async Task Get_ReturnsAllSources()
        {
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Get(1, 1, 1);

            var content = GetObjectResultContent <IEnumerable <Source> >(result.Result);

            Assert.IsInstanceOf(typeof(OkObjectResult), result.Result);
            Assert.IsNotNull(content);
            Assert.AreEqual(2, content.Count());
        }
Beispiel #13
0
        public async Task Get_ReturnsSource()
        {
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Get(1, 1, 1, 1);

            var content = GetObjectResultContent <Source>(result.Result);

            Assert.IsInstanceOf(typeof(OkObjectResult), result.Result);
            Assert.IsNotNull(content);
            Assert.AreEqual(1, content.Id);
        }
Beispiel #14
0
        public void Create_ExecuteCompletesWithoutException_ReturnsIndexView()
        {
            var mockListQuery     = new Mock <IGetSourceListQuery>();
            var mockCreateCommand = new Mock <ICreateSourceCommand>();

            mockCreateCommand.Setup(s => s.Execute(null));
            var controller             = new SourcesController(mockListQuery.Object, mockCreateCommand.Object);
            var redirectToActionResult = (RedirectToActionResult)controller.Create(null);

            Assert.NotNull(redirectToActionResult);
            Assert.Null(redirectToActionResult.ControllerName); // same controller
            Assert.Equal("Index", redirectToActionResult.ActionName);
        }
        public void Sources_Index()
        {
            // Arrange
            var sources = GetTestSourceSet();
            var db = new Mock<IPersonalInformationManagerContext>();
            db.Setup(e => e.Sources).Returns(sources);
            SourcesController controller = new SourcesController(db.Object);

            // Act
            ViewResult result = controller.Index() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
Beispiel #16
0
        public void TestAddStoryNoSortByUserName()
        {
            // Arrange
            var repo = new FakeRepository();
            var sourcesController = new SourcesController(repo);

            // Act
            sourcesController.AddStoryNoSort("AUser", "AUser is expected to be last in the list");


            // Assert
            Assert.Equal("AUser", repo.UserStories[repo.UserStories.Count - 1].UserName.Name);
            Assert.Equal("AUser is expected to be last in the list", repo.UserStories[repo.UserStories.Count - 1].StoryPost);
        }
        public void Sources_DeleteConfirmed()
        {
            // Arrange
            var sources = GetTestSourceSet();
            var db = new Mock<IPersonalInformationManagerContext>();
            db.Setup(e => e.Sources).Returns(sources);
            db.Setup(e => e.Sources.Find(It.IsAny<int>())).Returns(GetTestSource());
            SourcesController controller = new SourcesController(db.Object);

            // Act
            var result = (RedirectToRouteResult)controller.DeleteConfirmed(1);

            // Assert
            Assert.AreEqual("Index", result.RouteValues["action"]);
        }
Beispiel #18
0
        public async Task Update_ReturnsUpdatedSource_WhenRequestedIdMatchesCommandId()
        {
            var updateCommand = new UpdateSource {
                Id    = 1, PathId = 1, ModuleId = 1, ThemeId = 1,
                Order = 0, Title = "Create title", Description = "Create Description", Url = "http://www.ww.ww"
            };
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Update(1, 1, 1, 1, updateCommand);

            var content = GetObjectResultContent <Source>(result.Result);

            Assert.IsInstanceOf(typeof(OkObjectResult), result.Result);
            Assert.IsNotNull(content);
            Assert.AreEqual(1, content.Id);
        }
        public void Sources_Details()
        {
            // Arrange
            var sources = GetTestSourceSet();
            var db = new Mock<IPersonalInformationManagerContext>();
            db.Setup(e => e.Sources).Returns(sources);
            db.Setup(e => e.Sources.Find(It.IsAny<int>())).Returns(GetTestSource());
            SourcesController controller = new SourcesController(db.Object);

            // Act
            ViewResult result = controller.Details(1) as ViewResult;
            var model = result.Model as PersonalInformationManager.Models.Source;

            // Assert
            Assert.IsNotNull(result);
            Assert.AreEqual(SOURCE_NAME, model.Name);
        }
Beispiel #20
0
        public async Task Create_ReturnsCreatedAtRoute()
        {
            var createCommand = new CreateSource {
                PathId = 1, ModuleId = 1, ThemeId = 1,
                Order  = 0, Title = "Create title", Description = "Create Description", Url = "http://www.ww.ww"
            };
            var controller = new SourcesController(moqMediator.Object);

            var result = await controller.Create(1, 1, 1, createCommand);

            var content = GetObjectResultContent <Source>(result.Result);

            Assert.IsInstanceOf(typeof(CreatedAtRouteResult), result.Result);
            Assert.AreEqual("GetSource", ((CreatedAtRouteResult)result.Result).RouteName);
            Assert.IsNotNull(content);
            Assert.AreEqual(1, content.Id);
        }
        public void Sources_Create_Post()
        {
            // Arrange
            var sources = GetTestSourceSet();
            var db = new Mock<IPersonalInformationManagerContext>();
            db.Setup(e => e.Sources).Returns(sources);
            db.Setup(e => e.SaveChanges()).Returns(1);
            SourcesController controller = new SourcesController(db.Object);
            Source source = GetTestSource();

            // Act
            var result = (RedirectToRouteResult)controller.Create(source);
            
            // Assert
            Assert.AreEqual("Index", result.RouteValues["action"]);

        }
Beispiel #22
0
        public void Index_SingleSource_ModelPopulated()
        {
            var source = new SourceModel()
            {
                Id = 1
            };
            var mockListQuery     = new Mock <IGetSourceListQuery>();
            var mockCreateCommand = new Mock <ICreateSourceCommand>();

            mockListQuery.Setup(s => s.Execute()).Returns(new List <SourceModel>()
            {
                source
            });
            var controller = new SourcesController(mockListQuery.Object, mockCreateCommand.Object);
            var viewResult = (ViewResult)controller.Index();

            Assert.NotNull(viewResult);
            Assert.NotNull(viewResult.Model);
            var sources = (List <SourceModel>)viewResult.Model;

            Assert.Equal(source, sources[0]);
        }
Beispiel #23
0
        public void TestAddStory()
        {
            // Arrange
            var repo = new FakeRepository();
            var sourcesController = new SourcesController(repo);

            // Act
            UserStory uStory = new UserStory
            {
                StoryPost = "TestStoryPost",
                Name = "A_User"
            };
            UserStory uStory2 = new UserStory
            {
                StoryPost = "TestStoryPost",
                Name = "B_User"
            };
            sourcesController.AddStory(uStory2);
            sourcesController.AddStory(uStory);
            
            // Assert
            Assert.Equal("A_User", repo.UserStories[0].Name);
            Assert.Equal("TestStoryPost", repo.UserStories[0].StoryPost);
        }
Beispiel #24
0
        public void TestAddStoryNoSortByUserName()
        {
            // Arrange
            var repo = new FakeRepository();
            var sourcesController = new SourcesController(repo);

            // Act
            UserStory uStory = new UserStory
            {
                StoryPost = "TestStoryPost",
                Name = "B_User"
            };
            sourcesController.AddStoryNoSort(uStory);
            UserStory uStory2 = new UserStory
            {
                StoryPost = "A_User is expected to be last in the list",
                Name = "A_User"
            };
            sourcesController.AddStoryNoSort(uStory2);

            // Assert
            Assert.Equal("A_User", repo.UserStories[repo.UserStories.Count - 1].Name);
            Assert.Equal("A_User is expected to be last in the list", repo.UserStories[repo.UserStories.Count - 1].StoryPost);
        }
Beispiel #25
0
        public void TestAddCommentGetUserStoryByPost()
        {
            // Arrange
            var repo = new FakeRepository();
            var sourcesController = new SourcesController(repo);

            // Act
            CommentViewModel cvm = new CommentViewModel
            {
                Name = "newCommentUser",
                StoryPost = "Fake StoryPost1",
                CommentText = "newCommentText"
            };
            sourcesController.AddComment(cvm);

            // Assert
            /* Assert that the newest comment is correctly associated
             * with the first story post in the fake repository and
             * should be the first item in the comment list.
             */

            Assert.Equal("Fake StoryPost1", repo.UserStories[0].StoryPost);
            Assert.Equal("newCommentUser", repo.UserStories[0].Comments[0].Name);
        }
Beispiel #26
0
 public SourcesBuilder(SourcesController controller)
 {
     Guard.NotNull(controller, nameof(controller));
     _controller = controller;
 }