public void GetAll_Returns_All_When_Set_To_Do_So()
        {
            //Arrange.
            List <Family> items = new List <Family>()
            {
                new Family {
                    Id = 1, IsActive = true, Name = "Wilks"
                },
                new Family {
                    Id = 2, IsActive = false, Name = "Novacs"
                },
                new Family {
                    Id = 3, IsActive = true, Name = "Kovalcyk"
                }
            };

            var mockRepo = new Mock <IFamilyRepository>();

            mockRepo.Setup(c => c.GetAll()).Returns(items.AsQueryable());

            var sevice = new FamilyService(mockRepo.Object);

            //Act.
            var result = sevice.GetAll(false);

            //Assert.
            Assert.AreEqual(result.Count(), items.Count);
        }
        public async void Update_ErrorsOccurred_ShouldReturnErrorResponse()
        {
            var mock          = new ServiceMockFacade <IFamilyService, IFamilyRepository>();
            var model         = new ApiFamilyServerRequestModel();
            var validatorMock = new Mock <IApiFamilyServerRequestModelValidator>();

            validatorMock.Setup(x => x.ValidateUpdateAsync(It.IsAny <int>(), It.IsAny <ApiFamilyServerRequestModel>())).Returns(Task.FromResult(new ValidationResult(new List <ValidationFailure>()
            {
                new ValidationFailure("text", "test")
            })));
            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new Family()));
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.MediatorMock.Object,
                                            mock.RepositoryMock.Object,
                                            validatorMock.Object,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            UpdateResponse <ApiFamilyServerResponseModel> response = await service.Update(default(int), model);

            response.Should().NotBeNull();
            response.Success.Should().BeFalse();
            validatorMock.Verify(x => x.ValidateUpdateAsync(It.IsAny <int>(), It.IsAny <ApiFamilyServerRequestModel>()));
            mock.MediatorMock.Verify(x => x.Publish(It.IsAny <FamilyUpdatedNotification>(), It.IsAny <CancellationToken>()), Times.Never());
        }
        public FamiliesControllerTests()
        {
            var list = new List <Family>
            {
                new Family {
                    Id = 1, Name = "test 1", BusinessId = 2
                },
                new Family {
                    Id = 2, Name = "test 2", BusinessId = 1
                }
            }.AsQueryable();

            var mockContext        = Substitute.For <TtContext>();
            var familyRepository   = Substitute.For <Repository <Family> >(mockContext);
            var businessRepository = Substitute.For <Repository <Business> >(mockContext);

            _service = Substitute.For <FamilyService>(familyRepository, businessRepository);
            _service.GetList().Returns(list);
            _service.GetItem(Arg.Any <int>()).Returns(new Family {
                Id = 1, Name = "test 1", BusinessId = 1
            });
            _service.Create(Arg.Any <Family>());
            _service.Update(Arg.Any <int>(), Arg.Any <Family>());
            _service.Delete(Arg.Any <int>());

            var mockLogger = Substitute.For <ILoggerFactory>();

            _controller = new FamiliesController(_service, mockLogger);
        }
        public FamilyServiceTests()
        {
            var familiesList = new List <Family>
            {
                new Family {
                    Id = 1, Name = "test 1", BusinessId = 2
                },
                new Family {
                    Id = 2, Name = "test 2", BusinessId = 1
                },
                new Family {
                    Id = 3, Name = "test 4", BusinessId = 1
                }
            }.AsQueryable();

            var context = Substitute.For <TtContext>();

            _businessRepository = Substitute.For <Repository <Business> >(context);
            _familyRepository   = Substitute.For <Repository <Family> >(context);

            _familyRepository.GetList().Returns(familiesList);
            _familyRepository.GetItem(Arg.Any <int>()).Returns(new Family {
                Id = 1, Name = "test 1", BusinessId = 1
            });

            _service = new FamilyService(_familyRepository, _businessRepository);
        }
        public void CalcBasicChargeTest()
        {
            var familyService = new FamilyService();

            familyService.CheckService("2 C1 090-1234-0001");
            int basicCharge = familyService.CalcBasicCharge(1000);
            Assert.AreEqual(1100, basicCharge);
        }
        public void FamilyService_Add_Throws_On_Null_Family()
        {
            //Arrange
            _service = new FamilyService(_mockUnitOfWork.Object);

            //Assert
            Assert.Throws<ArgumentNullException>(() => _service.Add(null));
        }
        public void CalcUnitPriceTest()
        {
            var familyService = new FamilyService();

            familyService.CheckService("2 C1 090-1234-0001");
            int unitPrice = (int)familyService.CalcUnitPrice("5 2004/06/05 17:50 010 090-1234-0002", 20);
            Assert.AreEqual(20, unitPrice);
            unitPrice = (int)familyService.CalcUnitPrice("5 2004/06/05 17:50 010 090-1234-0001", 20);
            Assert.AreEqual(10, unitPrice);
        }
Beispiel #8
0
        public void IsFamilyTelNumberTest()
        {
            var familyService = new FamilyService();

            Assert.IsFalse(familyService.IsFamilyTelNumber("090-1234-1234"));

            familyService.AppendFamilyTelNumber("090-1234-1234");
            Assert.IsTrue(familyService.IsFamilyTelNumber("090-1234-1234"));
            Assert.IsFalse(familyService.IsFamilyTelNumber("090-1234-4321"));
        }
Beispiel #9
0
        public void CheckServiceTest()
        {
            var familyService = new FamilyService();

            familyService.CheckService(new Record("2 E1"));
            Assert.IsFalse(familyService.IsJoined());

            familyService.CheckService(new Record("2 C1 090-1234-0001"));
            Assert.IsTrue(familyService.IsJoined());
            Assert.IsTrue(familyService.IsFamilyTelNumber("090-1234-0001"));
        }
        public void Add_Family_ThrowException_When_Family_Is_Null()
        {
            //Arrange.
            var mockRepo = new Mock <IFamilyRepository>();

            mockRepo.Setup(c => c.SaveOrUpdate(It.IsAny <Family>()));

            var service = new FamilyService(mockRepo.Object);

            //Act.
            service.Add(null);
        }
Beispiel #11
0
        public void CreateFamily_AddExistingFamily_Pass()
        {
            //Arrange.
            var mockRepo = new Mock <IFamilyRepository>();
            var service  = new FamilyService(mockRepo.Object);

            mockRepo.Setup(x => x.Add(It.IsAny <Family>()));

            //Act.
            service.CreateAsync(Mock.Of <Family>(c => c.Name == "Wolfs" && c.Id == 15));

            //Assert - no assert.
        }
Beispiel #12
0
        public void CreateFamily_AddNullFamily()
        {
            //Arrange.
            var mockRepo = new Mock <IFamilyRepository>();
            var service  = new FamilyService(mockRepo.Object);

            mockRepo.Setup(x => x.Add(It.IsAny <Family>()));

            //Act.
            service.CreateAsync(null);

            //Assert - no assert.
        }
        public DatabaseIntializeTests()
        {
            var _loggerDatabase = new Mock <ILogger <DatabaseService> >();
            var _loggerFamily   = new Mock <ILogger <FamilyService> >();

            mockDatabaseService = new Mock <IDatabaseService>();

            CosmosSetting();

            _dbService = new DatabaseService(_store, _loggerDatabase.Object);

            _famService = new FamilyService(mockDatabaseService.Object, _store, _loggerFamily.Object);
        }
        public void AddMemberToFamily_Throws_Exception_When_FamilyMember_Is_Null()
        {
            //Arrange.
            var mockRepository = new Mock <IFamilyRepository>();

            mockRepository.Setup(c => c.AddMember(-1, It.IsAny <FamilyMember>()));//.Throws(new ArgumentException());

            var familyService = new FamilyService(mockRepository.Object);

            //Act.
            familyService.AddMemberToFamily(1, null);

            //Assert.
        }
Beispiel #15
0
        /// <summary>
        /// Create database family service.
        /// </summary>
        /// <param name="familyService">
        /// The family service.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool CreateFamilyService(FamilyService familyService)
        {
            try
            {
                this.db.FamilyServices.Add(familyService);
                this.db.SaveChanges();

                return(true);
            }
            catch (Exception e)
            {
                return(false);
            }
        }
        public void AddMemberToFamily_Throws_Exception_When_FamilyMember_FirstName_Longer_Than_32()
        {
            //Arrange.
            var moqRepo = new Mock <IFamilyRepository>();

            moqRepo.Setup(c => c.AddMember(It.IsAny <int>(), It.IsAny <FamilyMember>()));

            var service = new FamilyService(moqRepo.Object);

            //Act.
            service.AddMemberToFamily(1, new FamilyMember {
                FirstName = "12345678901234567890_12345678901234567890"
            });
        }
        public void AddMemberToFamily_Calls_AddMember_When_FamilyId_Valid()
        {
            //Arrange.
            var mockRepository = new Mock <IFamilyRepository>();

            mockRepository.Setup(c => c.AddMember(It.IsAny <int>(), It.IsAny <FamilyMember>()));

            var familyService = new FamilyService(mockRepository.Object);

            //Act.
            familyService.AddMemberToFamily(1, new FamilyMember());

            //Assert.
            mockRepository.VerifyAll();
        }
        public void Add_Family_Is_SaveOrUpdate_Called()
        {
            //Arrange.
            var mockRepo = new Mock <IFamilyRepository>();

            mockRepo.Setup(c => c.SaveOrUpdate(It.IsAny <Family>()));

            var service = new FamilyService(mockRepo.Object);

            //Act.
            service.Add(new Family());

            //Assert.
            mockRepo.Verify();
        }
Beispiel #19
0
        public void CreateFamily_CheckIf_RepositoryAddMethod_IsCalled_Failed()
        {
            //Arange.
            var repoMock = new Mock <IFamilyRepository>();

            repoMock.Setup(c => c.Add(It.IsAny <Family>()));

            var service = new FamilyService(repoMock.Object);

            //Act.
            service.CreateAsync(new Family());

            //Assert.
            repoMock.VerifyAll();
        }
        public void AddMemberToFamily_Throws_Exception_When_FamilyId_Is_Negative()
        {
            //Arrange.
            var mockRepository = new Mock <IFamilyRepository>();

            mockRepository.Setup(c => c.AddMember(-1, It.IsAny <FamilyMember>()));//.Throws(new ArgumentException());

            var familyService = new FamilyService(mockRepository.Object);

            //Act.
            familyService.AddMemberToFamily(-1, new FamilyMember {
                FirstName = "KK", LastName = "aa", IsActive = true
            });

            //Assert.
        }
Beispiel #21
0
        /// <summary>
        /// Create family service.
        /// </summary>
        /// <param name="familyId">
        /// The family id.
        /// </param>
        /// <param name="categoryId">
        /// The category id.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool CreateFamilyService(int familyId, int categoryId)
        {
            var count   = 0;
            var service = new FamilyService {
                FamilyID = familyId, ServiceID = categoryId
            };
            var success = this.familyRepo.CreateFamilyService(service);

            while (!success && count < 6)
            {
                count++;
                success = this.familyRepo.CreateFamilyService(service);
            }

            return(success);
        }
Beispiel #22
0
        public async void StudentsByFamilyId_Not_Exists()
        {
            var mock = new ServiceMockFacade <IFamilyService, IFamilyRepository>();

            mock.RepositoryMock.Setup(x => x.StudentsByFamilyId(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <Student> >(new List <Student>()));
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.MediatorMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            List <ApiStudentServerResponseModel> response = await service.StudentsByFamilyId(default(int));

            response.Should().BeEmpty();
            mock.RepositoryMock.Verify(x => x.StudentsByFamilyId(default(int), It.IsAny <int>(), It.IsAny <int>()));
        }
Beispiel #23
0
        public async void Get_ShouldReturnNullBecauseRecordNotFound()
        {
            var mock = new ServiceMockFacade <IFamilyService, IFamilyRepository>();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <Family>(null));
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.MediatorMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            ApiFamilyServerResponseModel response = await service.Get(default(int));

            response.Should().BeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public void MyTestInitialize()
        {
            this.target = new FamiliesLogic();

            this.websiteFamily = new FamilyEditor
            {
                Active      = true,
                Description = "Test Family",
                CategoryIds = new List <int> {
                    1, 2
                },
                Id    = 1,
                Name  = "Edit Family",
                State = ObjectStatus.ObjectState.Read
            };

            this.databaseFamily = new Family
            {
                Active      = true,
                Description = "Test database family",
                ID          = 1,
                Name        = "Edit database family",
            };

            this.databaseFamilyServices1 = new FamilyService {
                FamilyID = 1, ID = 1, ServiceID = 1
            };
            this.databaseFamilyServices2 = new FamilyService {
                FamilyID = 1, ID = 2, ServiceID = 2
            };
            this.databaseFamilyServicesList = new List <FamilyService>
            {
                this.databaseFamilyServices1,
                this.databaseFamilyServices2
            };

            this.websiteFamilyList = new List <FamilyEditor> {
                this.websiteFamily
            };

            this.databaseFamilyList = new List <Family> {
                this.databaseFamily
            };
        }
Beispiel #25
0
        public async void Get()
        {
            var mock   = new ServiceMockFacade <IFamilyRepository>();
            var record = new Family();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(record));
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.BOLMapperMockFactory.BOLFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.BOLMapperMockFactory.BOLStudentMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            ApiFamilyResponseModel response = await service.Get(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public void AddMemberToFamily_Calls_Repository_Method_AddMember_With_Apropriete_Parameters()
        {
            //Arrange.
            var mockRepository = new Mock <IFamilyRepository>();

            mockRepository.Setup(c => c.AddMember(It.IsAny <int>(), It.IsAny <FamilyMember>()));

            var familyService = new FamilyService(mockRepository.Object);

            var memberToAdd = new FamilyMember();

            //Act.
            familyService.AddMemberToFamily(1, memberToAdd);

            //Assert.
            mockRepository.Verify(x => x.AddMember(
                                      It.Is <int>(fn => fn.Equals(1)), It.Is <FamilyMember>(fn => fn.Equals(memberToAdd)))
                                  );
        }
Beispiel #27
0
        public async void All_ShouldReturnRecords()
        {
            var mock    = new ServiceMockFacade <IFamilyService, IFamilyRepository>();
            var records = new List <Family>();

            records.Add(new Family());
            mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult(records));
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.MediatorMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            List <ApiFamilyServerResponseModel> response = await service.All();

            response.Should().HaveCount(1);
            mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()));
        }
Beispiel #28
0
        public async void Create()
        {
            var mock  = new ServiceMockFacade <IFamilyRepository>();
            var model = new ApiFamilyRequestModel();

            mock.RepositoryMock.Setup(x => x.Create(It.IsAny <Family>())).Returns(Task.FromResult(new Family()));
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.BOLMapperMockFactory.BOLFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.BOLMapperMockFactory.BOLStudentMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            CreateResponse <ApiFamilyResponseModel> response = await service.Create(model);

            response.Should().NotBeNull();
            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiFamilyRequestModel>()));
            mock.RepositoryMock.Verify(x => x.Create(It.IsAny <Family>()));
        }
Beispiel #29
0
        public async void Delete()
        {
            var mock  = new ServiceMockFacade <IFamilyRepository>();
            var model = new ApiFamilyRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.BOLMapperMockFactory.BOLFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.BOLMapperMockFactory.BOLStudentMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
        }
Beispiel #30
0
        /// <summary>
        /// Update database family services.
        /// </summary>
        /// <param name="familyId">
        /// The family id.
        /// </param>
        /// <param name="newList">
        /// The new list.
        /// </param>
        /// <returns>
        /// The <see cref="bool"/>.
        /// </returns>
        public bool UpdateFamilyServices(int familyId, List <int> newList)
        {
            if (newList == null)
            {
                return(true);
            }

            try
            {
                var currentCategories = this.db.FamilyServices.Where(c => c.FamilyID == familyId).ToList();
                var oldList           = currentCategories.Select(currentCategory => currentCategory.ServiceID).ToList();

                var fistCheck = newList.Except(oldList);

                foreach (var i in fistCheck)
                {
                    var serviceId       = i;
                    var providerService = new FamilyService {
                        FamilyID = familyId, ServiceID = serviceId
                    };
                    this.db.FamilyServices.Add(providerService);
                    this.db.SaveChanges();
                }

                var secondCheck = oldList.Except(newList);

                foreach (var i in secondCheck)
                {
                    var serviceId = i;
                    var service   = this.db.FamilyServices.Single(x => x.FamilyID == familyId && x.ServiceID == serviceId);
                    this.db.FamilyServices.Remove(service);
                    this.db.SaveChanges();
                }
            }
            catch (Exception e)
            {
                return(false);
            }

            return(true);
        }
Beispiel #31
0
        public async void Delete_NoErrorsOccurred_ShouldReturnResponse()
        {
            var mock  = new ServiceMockFacade <IFamilyService, IFamilyRepository>();
            var model = new ApiFamilyServerRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new FamilyService(mock.LoggerMock.Object,
                                            mock.MediatorMock.Object,
                                            mock.RepositoryMock.Object,
                                            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Object,
                                            mock.DALMapperMockFactory.DALFamilyMapperMock,
                                            mock.DALMapperMockFactory.DALStudentMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            response.Success.Should().BeTrue();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.FamilyModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
            mock.MediatorMock.Verify(x => x.Publish(It.IsAny <FamilyDeletedNotification>(), It.IsAny <CancellationToken>()));
        }
        public void FamilyService_Add_Calls_Repository_Add_Method_With_The_Same_Family_Object_It_Recieved()
        {
            // Create test data
            var newFamily = new Family
                                {
                                    WifeId = TestConstants.ID_WifeId,
                                    HusbandId = TestConstants.ID_HusbandId
                                };

            //Create Mock
            var mockRepository = new Mock<IRepository<Family>>();
            _mockUnitOfWork.Setup(d => d.GetRepository<Family>()).Returns(mockRepository.Object);

            //Arrange
            _service = new FamilyService(_mockUnitOfWork.Object);

            //Act
            _service.Add(newFamily);

            //Assert
            mockRepository.Verify(r => r.Add(newFamily));
        }
        public void FamilyService_Get_ByPage_Overload_Throws_On_Negative_TreeId()
        {
            //Arrange
            _service = new FamilyService(_mockUnitOfWork.Object);

            //Assert
            Assert.Throws<IndexOutOfRangeException>(() => _service.Get(-1, t => true, 0, TestConstants.PAGE_RecordCount));
        }
        public void FamilyService_Add_Calls_UnitOfWork_Commit_Method()
        {
            // Create test data
            var newFamily = new Family
                                    {
                                        WifeId = TestConstants.ID_WifeId,
                                        HusbandId = TestConstants.ID_HusbandId
                                    };

            //Create Mock
            var mockRepository = new Mock<IRepository<Family>>();
            _mockUnitOfWork.Setup(d => d.GetRepository<Family>()).Returns(mockRepository.Object);

            //Arrange
            _service = new FamilyService(_mockUnitOfWork.Object);

            //Act
            _service.Add(newFamily);

            //Assert
            _mockUnitOfWork.Verify(db => db.Commit());
        }
        public void FamilyService_Get_ByPage_Overload_Returns_PagedList_Of_Familys()
        {
            //Arrange
            var mockRepository = new Mock<IRepository<Family>>();
            mockRepository.Setup(r => r.Get(It.IsAny<int>())).Returns(GetFamilys(TestConstants.PAGE_TotalCount));
            _mockUnitOfWork.Setup(u => u.GetRepository<Family>()).Returns(mockRepository.Object);

            _service = new FamilyService(_mockUnitOfWork.Object);
            const int treeId = TestConstants.TREE_Id;

            //Act
            var familys = _service.Get(treeId, t => true, 0, TestConstants.PAGE_RecordCount);

            //Assert
            Assert.IsInstanceOf<IPagedList<Family>>(familys);
            Assert.AreEqual(TestConstants.PAGE_TotalCount, familys.TotalCount);
            Assert.AreEqual(TestConstants.PAGE_RecordCount, familys.PageSize);
        }
        public void FamilyService_Get_ByPage_Overload_Calls_Repository_Get()
        {
            //Arrange
            var mockRepository = new Mock<IRepository<Family>>();
            _mockUnitOfWork.Setup(u => u.GetRepository<Family>()).Returns(mockRepository.Object);

            _service = new FamilyService(_mockUnitOfWork.Object);
            const int treeId = TestConstants.TREE_Id;

            //Act
            _service.Get(treeId, t => true, 0, TestConstants.PAGE_RecordCount);

            //Assert
            mockRepository.Verify(r => r.Get(It.IsAny<int>()));
        }
        public void FamilyService_Get_Overload_Throws_On_Negative_TreeId()
        {
            //Arrange
            _service = new FamilyService(_mockUnitOfWork.Object);

            //Assert
            Assert.Throws<IndexOutOfRangeException>(() => _service.Get(-1));
        }
        public void FamilyService_Get_Returns_Null_On_InValid_Id()
        {
            //Arrange
            var mockRepository = new Mock<IRepository<Family>>();
            mockRepository.Setup(r => r.Get(It.IsAny<int>())).Returns(GetFamilys(TestConstants.PAGE_TotalCount));
            _mockUnitOfWork.Setup(u => u.GetRepository<Family>()).Returns(mockRepository.Object);

            _service = new FamilyService(_mockUnitOfWork.Object);
            const int id = TestConstants.ID_NotFound;

            //Act
            var family = _service.Get(id, It.IsAny<int>());

            //Assert
            Assert.IsNull(family);
        }
        public void FamilyService_Get_Calls_Repository_Get()
        {
            //Arrange
            var mockRepository = new Mock<IRepository<Family>>();
            _mockUnitOfWork.Setup(u => u.GetRepository<Family>()).Returns(mockRepository.Object);

            _service = new FamilyService(_mockUnitOfWork.Object);
            const int id = TestConstants.ID_Exists;

            //Act
            _service.Get(id, It.IsAny<int>());

            //Assert
            mockRepository.Verify(r => r.Get(It.IsAny<int>()));
        }
        public void FamilyService_Get_Throws_On_Negative_Id()
        {
            //Arrange
            _service = new FamilyService(_mockUnitOfWork.Object);

            //Assert
            Assert.Throws<IndexOutOfRangeException>(() => _service.Get(-1, It.IsAny<int>()));
        }