public void MapInfo_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MapInfoService mapInfoService = new MapInfoService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); int count = 0; if (count == 1) { // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used] } MapInfo mapInfo = GetFilledRandomMapInfo(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = mapInfoService.GetMapInfoList().Count(); Assert.AreEqual(count, (from c in dbTestDB.MapInfos select c).Count()); mapInfoService.Add(mapInfo); if (mapInfo.HasErrors) { Assert.AreEqual("", mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, mapInfoService.GetMapInfoList().Where(c => c == mapInfo).Any()); mapInfoService.Update(mapInfo); if (mapInfo.HasErrors) { Assert.AreEqual("", mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, mapInfoService.GetMapInfoList().Count()); mapInfoService.Delete(mapInfo); if (mapInfo.HasErrors) { Assert.AreEqual("", mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); } } }
public IHttpActionResult Put([FromBody] MapInfo mapInfo, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { MapInfoService mapInfoService = new MapInfoService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!mapInfoService.Update(mapInfo)) { return(BadRequest(String.Join("|||", mapInfo.ValidationResults))); } else { mapInfo.ValidationResults = null; return(Ok(mapInfo)); } } }
public void MapInfo_Properties_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { MapInfoService mapInfoService = new MapInfoService(new Query() { Lang = culture.TwoLetterISOLanguageName }, dbTestDB, ContactID); int count = 0; if (count == 1) { // just so we don't get a warning during compile [The variable 'count' is assigned but its value is never used] } count = mapInfoService.GetMapInfoList().Count(); MapInfo mapInfo = GetFilledRandomMapInfo(""); // ------------------------------- // ------------------------------- // Properties testing // ------------------------------- // ------------------------------- // ----------------------------------- // [Key] // Is NOT Nullable // mapInfo.MapInfoID (Int32) // ----------------------------------- mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.MapInfoID = 0; mapInfoService.Update(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "MapInfoID"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.MapInfoID = 10000000; mapInfoService.Update(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "MapInfo", "MapInfoID", mapInfo.MapInfoID.ToString()), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Root,Address,Area,ClimateSite,Country,File,HydrometricSite,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,Outfall,OtherInfrastructure,SeeOtherMunicipality,LineOverflow,RainExceedance,Classification,Approved,Restricted,Prohibited,ConditionallyApproved,ConditionallyRestricted)] // mapInfo.TVItemID (Int32) // ----------------------------------- mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.TVItemID = 0; mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "TVItemID", mapInfo.TVItemID.ToString()), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.TVItemID = 2; mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "TVItemID", "Root,Address,Area,ClimateSite,Country,File,HydrometricSite,MikeBoundaryConditionWebTide,MikeBoundaryConditionMesh,MikeSource,Municipality,MWQMSite,PolSourceSite,Province,Sector,Subsector,TideSite,WasteWaterTreatmentPlant,LiftStation,Spill,Outfall,OtherInfrastructure,SeeOtherMunicipality,LineOverflow,RainExceedance,Classification,Approved,Restricted,Prohibited,ConditionallyApproved,ConditionallyRestricted"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // mapInfo.TVType (TVTypeEnum) // ----------------------------------- mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.TVType = (TVTypeEnum)1000000; mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "TVType"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [Range(-90, 90)] // mapInfo.LatMin (Double) // ----------------------------------- //CSSPError: Type not implemented [LatMin] //CSSPError: Type not implemented [LatMin] mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LatMin = -91.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LatMin", "-90", "90"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LatMin = 91.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LatMin", "-90", "90"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(-90, 90)] // mapInfo.LatMax (Double) // ----------------------------------- //CSSPError: Type not implemented [LatMax] //CSSPError: Type not implemented [LatMax] mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LatMax = -91.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LatMax", "-90", "90"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LatMax = 91.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LatMax", "-90", "90"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(-180, 180)] // mapInfo.LngMin (Double) // ----------------------------------- //CSSPError: Type not implemented [LngMin] //CSSPError: Type not implemented [LngMin] mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LngMin = -181.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LngMin", "-180", "180"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LngMin = 181.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LngMin", "-180", "180"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(-180, 180)] // mapInfo.LngMax (Double) // ----------------------------------- //CSSPError: Type not implemented [LngMax] //CSSPError: Type not implemented [LngMax] mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LngMax = -181.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LngMax", "-180", "180"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LngMax = 181.0D; Assert.AreEqual(false, mapInfoService.Add(mapInfo)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "LngMax", "-180", "180"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, mapInfoService.GetMapInfoList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPEnumType] // mapInfo.MapInfoDrawType (MapInfoDrawTypeEnum) // ----------------------------------- mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.MapInfoDrawType = (MapInfoDrawTypeEnum)1000000; mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "MapInfoDrawType"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // mapInfo.LastUpdateDate_UTC (DateTime) // ----------------------------------- mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LastUpdateDate_UTC = new DateTime(); mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LastUpdateDate_UTC = new DateTime(1979, 1, 1); mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)] // mapInfo.LastUpdateContactTVItemID (Int32) // ----------------------------------- mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LastUpdateContactTVItemID = 0; mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", mapInfo.LastUpdateContactTVItemID.ToString()), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); mapInfo = null; mapInfo = GetFilledRandomMapInfo(""); mapInfo.LastUpdateContactTVItemID = 1; mapInfoService.Add(mapInfo); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), mapInfo.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [NotMapped] // mapInfo.HasErrors (Boolean) // ----------------------------------- // No testing requied // ----------------------------------- // Is NOT Nullable // [NotMapped] // mapInfo.ValidationResults (IEnumerable`1) // ----------------------------------- // No testing requied } } }