public void UpdateLeadScoreRule_ValidRule_Succeed()
        {
            IEnumerable <LeadScoreRuleViewModel> leadScorerulesList = LeadScoreRuleMockData.ListofLeadScoreRules();
            LeadScoreRuleViewModel model = leadScorerulesList.FirstOrDefault(lsr => lsr.LeadScoreRuleID == 1);

            mockLeadScoreRuleRepository.Setup(lsr => lsr.Update(It.IsAny <LeadScoreRule>())).Verifiable("Error ocuured while calling repository method");
            UpdateLeadScoreRuleResponse response = leadScoreRuleService.UpdateRule(new UpdateLeadScoreRuleRequest()
            {
                LeadScoreRuleViewModel = model
            });

            mockRepository.VerifyAll();
        }
        public void InsertLeadScoreRule_ValidRule_Succeed()
        {
            LeadScoreRuleViewModel viewModel = LeadScoreRuleMockData.GetLeadscoreRuleViewModel();

            mockLeadScoreRuleRepository.Setup(mnt => mnt.Insert(It.IsAny <LeadScoreRule>())).Verifiable("Error ocuured while calling repository method");

            InsertLeadScoreRuleResponse response = leadScoreRuleService.CreateRule(new InsertLeadScoreRuleRequest()
            {
                LeadScoreRuleViewModel = viewModel
            });

            mockRepository.VerifyAll();
        }
        public void GetLeadScoreRule_ValidRule_Succeed()
        {
            var mockRule = LeadScoreRuleMockData.GetMockLeadScoreRulesWithSetups(mockRepository, 1).FirstOrDefault();

            mockLeadScoreRuleRepository.Setup(cr => cr.FindBy(It.IsAny <int>())).Returns(mockRule.Object);
            mockTagRepository.Setup(c => c.FindByContact(It.IsAny <int>(), It.IsAny <int>())).Returns(new List <Tag>());

            GetLeadScoreResponse response = leadScoreRuleService.GetLeadScoreRule(new GetLeadScoreRequest(1));
            int id = response.LeadScoreViewModel.LeadScoreRuleID;

            mockLeadScoreRuleRepository.VerifyAll();
            Assert.AreEqual(mockRule.Object.Id, id);
            Assert.AreNotEqual(null, response.Exception);
        }
        public void InsertLeadScoreRule_RunTimeException_ExceptionDetails()
        {
            LeadScoreRuleViewModel leadScoreViewModel = LeadScoreRuleMockData.GetLeadscoreRuleViewModel();

            mockLeadScoreRuleRepository.Setup(c => c.Insert(It.IsAny <LeadScoreRule>())).Throws(new NullReferenceException());
            InsertLeadScoreRuleResponse response = leadScoreRuleService.CreateRule(new InsertLeadScoreRuleRequest()
            {
                LeadScoreRuleViewModel = leadScoreViewModel
            });

            mockRepository.VerifyAll();
            Assert.AreEqual(typeof(NullReferenceException), response.Exception.GetType());
            Assert.AreNotEqual(null, response.Exception);
        }
        public void UpdateLeadScoreRule_ExceptionOccured_Failed()
        {
            IEnumerable <LeadScoreRuleViewModel> leadScorerulesList = LeadScoreRuleMockData.ListofLeadScoreRules();
            LeadScoreRuleViewModel model = leadScorerulesList.FirstOrDefault(lsr => lsr.LeadScoreRuleID == 1);

            mockLeadScoreRuleRepository.Setup(lsr => lsr.Update(It.IsAny <LeadScoreRule>())).Throws(new NullReferenceException());
            UpdateLeadScoreRuleResponse response = leadScoreRuleService.UpdateRule(new UpdateLeadScoreRuleRequest()
            {
                LeadScoreRuleViewModel = model
            });

            mockRepository.VerifyAll();
            Assert.AreEqual(typeof(NullReferenceException), response.Exception.GetType());
            Assert.AreNotEqual(null, response.Exception);
        }
        public void GetAllLeadScoreRules_ValidRule_Succeed()
        {
            var mockRules = LeadScoreRuleMockData.GetMockLeadScoreRules(mockRepository, 10).ToList();

            mockLeadScoreRuleRepository.Setup(cr => cr.FindAll(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>(), It.IsAny <ListSortDirection>(), null)).Returns(mockRules);

            GetLeadScoreListResponse response = leadScoreRuleService.GetLeadScoresList(new GetLeadScoreListRequest()
            {
                AccountID = 1, Limit = 10, PageNumber = 1, Query = ""
            });
            IEnumerable <LeadScoreRuleViewModel> leadScoreRules = response.LeadScoreViewModel;

            mockRepository.VerifyAll();
            Assert.AreEqual(mockRules.Count, leadScoreRules.Count());
            Assert.AreEqual(null, response.Exception);
        }