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); }
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"); }