/// <summary>
 /// Initializes the mock.
 /// </summary>
 private void InitializeMock()
 {
     mock             = new Mock <IIFSPDataProvider>();
     ifspDataProvider = mock.Object;
     ifspController   = new IFSPController(ifspDataProvider);
 }
        public void Mock_IFSP()
        {
            var mock = new Mock <IIFSPRuleEngine>();

            ifspRuleEngine = mock.Object;

            ifspController = new IFSPController(ifspRuleEngine);

            ifsps = new List <IFSPDetailModel>();
            ifsps.Add(new IFSPDetailModel()
            {
                IFSPID               = 1,
                ContactID            = 1,
                IFSPTypeID           = 1,
                IFSPMeetingDate      = DateTime.Now,
                IFSPFamilySignedDate = DateTime.Now,
                MeetingDelayed       = true,
                ReasonForDelayID     = 1,
                Comments             = "Success test case",
                AssessmentID         = 1,
                ResponseID           = 1,
                IsActive             = true,
                ModifiedBy           = 5,
                ModifiedOn           = DateTime.Now,
                ForceRollback        = true
            });

            var ifspResponse = new Response <IFSPDetailModel>()
            {
                DataItems = ifsps
            };

            //Response<IFSPDetailModel> ifspResponse = new Response<IFSPDetailModel>();

            //Get IFSP
            mock.Setup(r => r.GetIFSPList(It.IsAny <long>()))
            .Callback((long id) => { ifspResponse.DataItems = ifsps.Where(ifsp => ifsp.ContactID == id).ToList(); })
            .Returns(ifspResponse);

            //Add IFSP
            mock.Setup(r => r.AddIFSP(It.IsAny <IFSPDetailModel>()))
            .Callback((IFSPDetailModel ifspModel) => { if (ifspModel.ContactID > 0)
                                                       {
                                                           ifsps.Add(ifspModel);
                                                       }
                      })
            .Returns(ifspResponse);

            //Update IFSP
            mock.Setup(r => r.UpdateIFSP(It.IsAny <IFSPDetailModel>()))
            .Callback((IFSPDetailModel ifspModel) => { if (ifspModel.IFSPID > 0)
                                                       {
                                                           ifsps.Remove(ifsps.Find(ifsp => ifsp.IFSPID == ifspModel.IFSPID)); ifsps.Add(ifspModel);
                                                       }
                      })
            .Returns(ifspResponse);

            //Delete IFSP
            var deleteResponse = new Response <bool>();

            mock.Setup(r => r.RemoveIFSP(It.IsAny <long>(), DateTime.UtcNow))
            .Callback((long id) => ifsps.Remove(ifsps.Find(ifsp => ifsp.IFSPID == id)))
            .Returns(deleteResponse);
        }
 public void Initialize()
 {
     //Arrange
     controller = new IFSPController(new IFSPRepository(ConfigurationManager.AppSettings["UnitTestToken"]));
 }