public void DefaultPopulatesModules()
        {
            //Arrange
            UniqueList <string> modules = new UniqueList <string>();
            var moq = new Mock <IRepository <Region> >();

            moq.Setup(m => m.Get()).Returns(Task.FromResult(default(IEnumerable <Region>)));
            PatientSearchViewComponent component = new PatientSearchViewComponent(moq.Object);

            //Act
            var result = component.InvokeAsync(modules).Result;

            //Assert
            Assert.IsTrue(modules.Contains(nameof(PersonEditorViewComponent).ViewComponentName()));
        }
        public void DefaultReturnsView()
        {
            //Arrange
            UniqueList <string> modules = new UniqueList <string>();
            var moq = new Mock <IRepository <Region> >();

            moq.Setup(m => m.Get()).Returns(Task.FromResult(default(IEnumerable <Region>)));
            PatientSearchViewComponent component = new PatientSearchViewComponent(moq.Object);

            //Act
            var result = component.InvokeAsync(modules).Result;

            //Assert
            Assert.IsInstanceOfType(result, typeof(IViewComponentResult));
        }
        public void DefaultReturnsCorrectModel()
        {
            //Arrange
            UniqueList <string> modules = new UniqueList <string>();
            var moq = new Mock <IRepository <Region> >();

            moq.Setup(m => m.Get()).Returns(Task.FromResult(new List <Region> {
                new Region(), new Region()
            } as IEnumerable <Region>));
            PatientSearchViewComponent component = new PatientSearchViewComponent(moq.Object);

            //Act
            var result = (component.InvokeAsync(modules).Result as ViewViewComponentResult).ViewData.Model as PatientSearchViewModel;

            //Assert
            Assert.IsInstanceOfType(result, typeof(PatientSearchViewModel));
            Assert.AreEqual(result.Regions.Count(), 2);
        }