コード例 #1
0
        //Would be revisiting to modify the actual way of call method.
        public void CaseHistoryControllerTest_Success()
        {
            // Arrange
            LidTypeEnum           LIDType = LidTypeEnum.CustomerNbr;
            string                LID     = "";
            PaginationCaseHistory page    = new PaginationCaseHistory();

            string ExtraId = null;
            int    lid     = 648988;
            int    CaseID  = 8715123;

            MockCaseHistoryRepository mockCaseHistoryRepository = new MockCaseHistoryRepository();
            ApiResult <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > expectedResult = mockCaseHistoryRepository.GetMockData(lid);

            IOptions <DataContext>     optionsAccessor   = Substitute.For <IOptions <DataContext> >();
            IDatabaseConnectionFactory connectionFactory = Substitute.For <IDatabaseConnectionFactory>();

            ICaseHistoryRepository mockRepo = Substitute.For <ICaseHistoryRepository>();

            mockRepo.GetCaseHistoryInfo(LIDType, LID, ExtraId, page).ReturnsForAnyArgs(expectedResult.Result);

            // Act
            var caseHistory = mockRepo.GetCaseHistoryInfo(LIDType, "648988", ExtraId, page).Result;

            var actualRecord = (IList <Wp.CIS.LynkSystems.Model.CaseHistory>)caseHistory.ReturnedRecords;

            string caseInfo = actualRecord.Where(x => x.caseId == CaseID).FirstOrDefault().caseLevel;

            //// Assert

            Assert.Equal(((IList <Wp.CIS.LynkSystems.Model.CaseHistory>)actualRecord).Count, 6);

            Assert.Equal(caseInfo, "Customer");
        }
コード例 #2
0
ファイル: TestCaseHistoryApi.cs プロジェクト: cx525v/WP
        public async Task CaseHistoryApiTest_Exception()
        {
            // Arrange
            LidTypeEnum LIDType = LidTypeEnum.CustomerNbr;
            string      LID     = "";

            PaginationCaseHistory page = new PaginationCaseHistory();

            int lid = 648988;

            string ExtraId = null;


            MockCaseHistoryRepository mockCaseHistoryRepository = new MockCaseHistoryRepository();
            ApiResult <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > expectedResult = mockCaseHistoryRepository.GetMockData(lid);

            IOptions <Settings> optionsAccessor = Substitute.For <IOptions <Settings> >();

            ICaseHistoryRepository mockRepo = Substitute.For <ICaseHistoryRepository>();

            ICaseHistoryApi casehistoryApi = Substitute.For <ICaseHistoryApi>();

            IDistributedCache mockCache = Substitute.For <IDistributedCache>();

            mockRepo.GetCaseHistoryInfo(LIDType, LID, ExtraId, page).Throws(new Exception());

            casehistoryApi = new CaseHistoryApi(optionsAccessor, mockRepo);

            //Assert
            await Assert.ThrowsAsync <Exception>(() => casehistoryApi.GetCaseHistory(LIDType, LID, ExtraId, page));
        }
コード例 #3
0
        //Mock API Call and unit test for the API call with returning mock ContactList.
        public async Task CaseHistoryControllerTest_Success()
        {
            // Arrange
            var page = GetCaseHistoryObject();

            page.lidTypeEnum = LidTypeEnum.Terminal;
            page.LIDValue    = "FakeStringID";

            int    lid     = 648988;
            int    CaseID  = 8715123;
            string ExtraId = null;

            MockCaseHistoryRepository mockCaseHistoryRepository = new MockCaseHistoryRepository();
            ApiResult <GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory> > expectedResult = mockCaseHistoryRepository.GetMockData(lid);


            ICaseHistoryRepository mockRepo = Substitute.For <ICaseHistoryRepository>();


            IStringLocalizer <CaseHistoryController> localizer
                = Substitute.For <IStringLocalizer <CaseHistoryController> >();

            ICaseHistoryApi caseHistoryApi = Substitute.For <ICaseHistoryApi>();

            IDistributedCache mockCache     = FakeCache();
            IOperation        fakeOperation = Substitute.ForPartsOf <Operation>(mockCache);


            fakeOperation.WhenForAnyArgs(x => x.RetrieveCache(Arg.Any <string>(), Arg.Any <ICollection <Wp.CIS.LynkSystems.Model.CaseHistory> >())).DoNotCallBase();
            fakeOperation.WhenForAnyArgs(x => x.AddCacheAsync(Arg.Any <string>(), Arg.Any <ICollection <Wp.CIS.LynkSystems.Model.CaseHistory> >())).DoNotCallBase();

            ILoggingFacade loggingFacade = Substitute.For <ILoggingFacade>();

            loggingFacade.WhenForAnyArgs(x => x.LogAsync(Arg.Any <LogLevels>(), Arg.Any <string>(), Arg.Any <CancellationToken>())).DoNotCallBase();

            CaseHistoryController controller = new CaseHistoryController(mockCache, caseHistoryApi, localizer, fakeOperation, loggingFacade);

            caseHistoryApi.GetCaseHistory(page.lidTypeEnum, page.LIDValue, ExtraId, page.Page).ReturnsForAnyArgs(expectedResult);

            // Act

            var casehistory = await controller.Get(page);

            var    actualRecord    = ((Microsoft.AspNetCore.Mvc.ObjectResult)casehistory).Value;
            string casehistoryInfo = ((IList <Wp.CIS.LynkSystems.Model.CaseHistory>)
                                          ((GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory>)actualRecord).ReturnedRecords).Where(x => x.caseId == CaseID).FirstOrDefault().orgDeptName;

            var recordCount = ((GenericPaginationResponse <Wp.CIS.LynkSystems.Model.CaseHistory>)actualRecord).ReturnedRecords;


            // Assert
            Assert.Equal(recordCount.ToList().Count, 6);


            Assert.Equal(casehistoryInfo, "Customer Care");
        }
コード例 #4
0
 public CaseHistoriesController(ICaseHistoryRepository repository,
                                IRepository <CaseHistoryDiagnosys> diagnosesRepository,
                                IRepository <CaseHistoryAdmission> admissionRepository,
                                IRepository <CaseHistoryRecord> recordsRepository,
                                IRepository <RecordDiagnosys> recordDiagnosysRepository)
 {
     _repository                = repository;
     _diagnosesRepository       = diagnosesRepository;
     _admissionRepository       = admissionRepository;
     _recordsRepository         = recordsRepository;
     _recordDiagnosysRepository = recordDiagnosysRepository;
 }
コード例 #5
0
 public CaseHistoriesController(IStringLocalizer <Resources> localizer,
                                ICaseHistoryRepository repository)
 {
     _localizer  = localizer;
     _repository = repository;
 }
コード例 #6
0
ファイル: CaseHistoryApi.cs プロジェクト: cx525v/WP
 public CaseHistoryApi(IOptions <Settings> optionsAccessor, ICaseHistoryRepository casehistoryRepository)
 {
     _casehistoryrepository = casehistoryRepository;
     //_maxresultset = optionsAccessor.Value.MaxNumberOfRecordsToReturn;
 }