예제 #1
0
        public async Task CopyEpsMappingAsync_Success()
        {
            MockEPSMappingApiRepository api         = new MockEPSMappingApiRepository();
            IDistributedCache           _cache      = FakeCache();
            IOptions <Settings>         appSettings = Substitute.For <IOptions <Settings> >();
            IEPSMappingApi       epsMappingApi      = new EPSMappingApi(appSettings, api);
            EPSMappingController controller         = FakeController(_cache, epsMappingApi);

            //.. Act
            var dinfo = await controller.Copy(new EPSCopyMapping()
            {
                FromVersionID = 1, ToVersionID = 2
            });

            var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo).Value;
            var fromMapping  = api.epsMapping.Where(s => s.versionID == 1).
                               Select(s => new { s.pdlFlag, s.worldPayFieldName, s.worldPayTableName, s.worldPayJoinFields, s.worldPayCondition, s.worldPayOrderBy, s.worldPayFieldDescription, s.paramID, s.effectiveBeginDate, s.effectiveEndDate, s.viperCondition, s.viperFieldName, s.viperTableName, s.charStartIndex, s.charLength }).ToList();
            var toMapping = api.epsMapping.Where(s => s.versionID == 2).
                            Select(s => new { s.pdlFlag, s.worldPayFieldName, s.worldPayTableName, s.worldPayJoinFields, s.worldPayCondition, s.worldPayOrderBy, s.worldPayFieldDescription, s.paramID, s.effectiveBeginDate, s.effectiveEndDate, s.viperCondition, s.viperFieldName, s.viperTableName, s.charStartIndex, s.charLength }).ToList();

            var newTable = api.petroTable.Where(s => s.VersionID == 1)
                           .Select(s => new { s.SchemaDef, s.DefaultXML, s.Active, s.CreatedDate, s.DefinitionOnly, s.EffectiveDate, s.LastUpdatedBy, s.LastUpdatedDate, s.TableID, s.TableName }).ToList();
            var oldTable = api.petroTable.Where(s => s.VersionID == 2)
                           .Select(s => new { s.SchemaDef, s.DefaultXML, s.Active, s.CreatedDate, s.DefinitionOnly, s.EffectiveDate, s.LastUpdatedBy, s.LastUpdatedDate, s.TableID, s.TableName }).ToList();

            //..Assert
            Assert.Equal(((bool)actualRecord), true);
            Assert.Equal(fromMapping, toMapping);
            Assert.Equal(newTable, oldTable);
        }
예제 #2
0
        public async Task CopyEpsMappingAsync_ToVersionNotExistsFail()
        {
            IDistributedCache   _cache        = FakeCache();
            IOptions <Settings> appSettings   = Substitute.For <IOptions <Settings> >();
            IEPSMappingApi      epsMappingApi = new EPSMappingApi(appSettings, new MockEPSMappingApiRepository());
            var localizer = new MockStringLocalizer <EPSMappingController>();

            localizer[0] = new LocalizedString("EPSMappingCopyErrorMsg", "Error occured while copying Mappings");

            EPSMappingController controller = FakeController(_cache, epsMappingApi, localizer);

            //.. Act
            var dinfo = await controller.Copy(new EPSCopyMapping()
            {
                FromVersionID = 1, ToVersionID = 6
            });

            var actualRecord = ((Microsoft.AspNetCore.Mvc.ObjectResult)dinfo);

            //..Assert
            Assert.Equal((actualRecord.StatusCode), (int)System.Net.HttpStatusCode.InternalServerError);
            Assert.Equal((actualRecord.Value), "Error occured while copying Mappings");
        }