public async Task ShouldGetEditPage()
        {
            //Arrange
            var guid             = Guid.NewGuid();
            var mock             = new Mock <IFundManagerRepository>();
            var fundManagerModel = new FundManager();

            mock.SetupAllProperties();
            mock.Setup(m => m.Get(guid)).Returns(Task.FromResult(fundManagerModel));
            var mockFundRepo = new Mock <IFundRepository>();
            IEnumerable <Fund> emptyFunds = new List <Fund>();

            mockFundRepo.Setup(m => m.GetFunds(new Guid()))
            .Returns(Task.FromResult(emptyFunds))
            .Verifiable();
            var controller = new FundManagerController(mock.Object, mockFundRepo.Object);
            var expected   = new FundManager().ToExpectedObject();

            //Act
            var actual = await controller.Edit(guid);

            //Assert
            Assert.That(actual, Is.TypeOf <ViewResult>());
            mock.Verify();
            Assert.That(((ViewResult)actual).Model, Is.EqualTo(expected));
        }
        public async Task ShouldGetIndexPage()
        {
            //Arrange
            var mockFundManRepo = new Mock <IFundManagerRepository>();
            IEnumerable <FundManager> fundManagerModels = new FundManager[0];

            mockFundManRepo.Setup(m => m.GetAll())
            .Returns(Task.FromResult(fundManagerModels))
            .Verifiable();
            var mockFundRepo = new Mock <IFundRepository>();
            IEnumerable <Fund> emptyFunds = new List <Fund>();

            mockFundRepo.Setup(m => m.GetFunds(new Guid()))
            .Returns(Task.FromResult(emptyFunds))
            .Verifiable();
            var controller = new FundManagerController(mockFundManRepo.Object, mockFundRepo.Object);

            //NUnit-IS.EqualTo compares single dimensional arrays, so this will match.
            var expected = new FundManager[0];

            //Act
            var actual = await controller.Index();

            //Assert
            Assert.That(actual, Is.TypeOf <ViewResult>());
            Assert.That(((ViewResult)actual).Model, Is.EqualTo(expected));
            mockFundManRepo.Verify();
        }
        public async Task ShouldGetRedirectedToErrorFromDeletePageIfNullGuid()
        {
            //Arrange
            var validGuid        = Guid.NewGuid();
            var mock             = new Mock <IFundManagerRepository>();
            var fundManagerModel = new FundManager();

            mock.SetupAllProperties();
            mock.Setup(m => m.Get(validGuid)).Returns(Task.FromResult(fundManagerModel));
            var mockFundRepo = new Mock <IFundRepository>();
            IEnumerable <Fund> emptyFunds = new List <Fund>();

            mockFundRepo.Setup(m => m.GetFunds(new Guid()))
            .Returns(Task.FromResult(emptyFunds))
            .Verifiable();
            var controller = new FundManagerController(mock.Object, mockFundRepo.Object);

            //Act
            var actual = await controller.Delete(null);

            //Assert
            Assert.That(actual, Is.TypeOf <RedirectToRouteResult>());
            var redir = (RedirectToRouteResult)actual;

            Assert.That("errorMessage", Is.EqualTo(redir.RouteValues.Keys.First()));
            mock.Verify();
        }
        public async Task ShouldGetIndexPageIfSuccessfulDelete()
        {
            //Arrange
            var validGuid = Guid.NewGuid();
            var mock      = new Mock <IFundManagerRepository>();

            mock.SetupAllProperties();
            mock.Setup(m => m.Delete(validGuid)).Returns(Task.FromResult(true));
            var mockFundRepo = new Mock <IFundRepository>();
            IEnumerable <Fund> emptyFunds = new List <Fund>();

            mockFundRepo.Setup(m => m.GetFunds(new Guid()))
            .Returns(Task.FromResult(emptyFunds))
            .Verifiable();
            var controller = new FundManagerController(mock.Object, mockFundRepo.Object);

            //Act
            var actual = await controller.Delete(validGuid);


            //Assert
            Assert.That(actual, Is.TypeOf <RedirectToRouteResult>());
            var redir = (RedirectToRouteResult)actual;

            Assert.That("Index", Is.EqualTo(redir.RouteValues.Values.First()));
            mock.Verify();
        }
        public async Task ShouldGetAll()
        {
            var mock = new Mock <IFundManagerRepository>();
            var controller = new FundManagerController(mock.Object);
            var valueFunction = new[] { new FundManager() }.AsQueryable();

            mock.Setup(m => m.GetAll()).Returns(Task.FromResult(valueFunction));

            var result = await controller.Get();

            Assert.That(result.Count(), Is.EqualTo(1));
        }
Esempio n. 6
0
        public async void ShouldGetIndexPage()
        {
            var mock = new Mock <IFundManagerModelRepository>();
            var fundManagerModels = new FundManagerModel[0].AsEnumerable();

            mock.Setup(m => m.GetAll()).Returns(Task.FromResult(fundManagerModels));
            var controller = new FundManagerController(mock.Object);

            var result = await controller.Index(1, string.Empty, null);

            Assert.That(result, Is.TypeOf <ViewResult>());
            mock.Verify();
            Assert.That(((ViewResult)result).Model, Is.EqualTo(fundManagerModels));
        }
        public async void ShouldGetIndexPageIfSuccessfulDelete()
        {
            var validGuid = Guid.NewGuid();
            var mock      = new Mock <IFundManagerRepository>();

            mock.SetupAllProperties();
            mock.Setup(m => m.Delete(validGuid)).Returns(Task.FromResult(true));
            var controller = new FundManagerController(mock.Object);

            var result = await controller.Delete(validGuid);

            Assert.That(result, Is.TypeOf <RedirectToRouteResult>());
            mock.Verify();
        }
        public async Task ShouldGet()
        {
            var mock        = new Mock <IFundManagerRepository>();
            var controller  = new FundManagerController(mock.Object);
            var newGuid     = Guid.NewGuid();
            var fundManager = new FundManager();

            mock.Setup(m => m.GetBy(newGuid)).Returns(Task.FromResult(fundManager));

            var result = controller.Get(newGuid);

            mock.Verify();
            Assert.That(await result, Is.EqualTo(fundManager));
        }
Esempio n. 9
0
        public async void ShouldGetDetailsPage()
        {
            var guid             = Guid.NewGuid();
            var mock             = new Mock <IFundManagerModelRepository>();
            var fundManagerModel = new FundManagerModel();

            mock.Setup(m => m.Get(guid)).Returns(Task.FromResult(fundManagerModel));
            var controller = new FundManagerController(mock.Object);

            var result = await controller.Details(guid);

            Assert.That(result, Is.TypeOf <ViewResult>());
            mock.Verify();
            Assert.That(((ViewResult)result).Model, Is.EqualTo(fundManagerModel));
        }
        public async void ShouldGetRedirectedToErrorFromEditPageIfNullGuid()
        {
            var validGuid        = Guid.NewGuid();
            var mock             = new Mock <IFundManagerRepository>();
            var fundManagerModel = new FundManager();

            mock.SetupAllProperties();
            mock.Setup(m => m.Get(validGuid)).Returns(Task.FromResult(fundManagerModel));
            var controller = new FundManagerController(mock.Object);

            var result = await controller.Edit((Guid?)null);

            Assert.That(result, Is.TypeOf <RedirectToRouteResult>());
            mock.Verify();
        }
Esempio n. 11
0
        public async Task ShouldGetAll()
        {
            //Arrange
            var mock       = new Mock <IFundManagerRepository>();
            var controller = new FundManagerController(mock.Object);
            IEnumerable <FundManager> valueFunction = new[] { new FundManager() };

            mock.Setup(m => m.GetAll())
            .Returns(Task.FromResult(valueFunction))
            .Verifiable();

            //Act
            var result = await controller.Get();

            //Assert
            Assert.That(result.Count(), Is.EqualTo(1));
        }
Esempio n. 12
0
        public async void ShouldCreateFundManage()
        {
            var mock = new Mock <IFundManagerModelRepository>();
            var fm   = new FundManagerModel()
            {
                Biography    = "Some",
                Location     = Location.London,
                ManagedSince = DateTime.Now,
                Name         = "Fred"
            };

            mock.Setup(m => m.Create(fm)).Returns(Task.FromResult(fm));
            var controller = new FundManagerController(mock.Object);
            var result     = await controller.Create(fm);

            Assert.That(result, Is.TypeOf <RedirectToRouteResult>());
            mock.Verify();
        }
        public async void ShouldGetIndexPage()
        {
            //Arrange
            var mock = new Mock <IFundManagerRepository>();
            IEnumerable <FundManager> fundManagerModels = new FundManager[0];

            mock.Setup(m => m.GetAll())
            .Returns(Task.FromResult(fundManagerModels))
            .Verifiable();
            var controller = new FundManagerController(mock.Object);

            //Act
            var result = await controller.Index();

            //Assert
            Assert.That(result, Is.TypeOf <ViewResult>());
            Assert.That(((ViewResult)result).Model, Is.EqualTo(fundManagerModels));
            mock.Verify();
        }
Esempio n. 14
0
        public async void ShouldEditFundManage()
        {
            var guid = Guid.NewGuid();
            var mock = new Mock <IFundManagerModelRepository>();
            var fm   = new FundManagerModel()
            {
                Id           = guid,
                Biography    = "Some1",
                Location     = Location.London,
                ManagedSince = DateTime.Now,
                Name         = "Fred1"
            };

            mock.Setup(m => m.Update(fm)).Returns(Task.FromResult(fm));
            var controller = new FundManagerController(mock.Object);
            var result     = await controller.Edit(fm);

            Assert.That(result, Is.TypeOf <ViewResult>());
            mock.Verify();
            Assert.That(((ViewResult)result).Model, Is.EqualTo(fm));
        }