public void BoxModel_CRUD_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { BoxModelService boxModelService = new BoxModelService(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] } BoxModel boxModel = GetFilledRandomBoxModel(""); // ------------------------------- // ------------------------------- // CRUD testing // ------------------------------- // ------------------------------- count = boxModelService.GetBoxModelList().Count(); Assert.AreEqual(count, (from c in dbTestDB.BoxModels select c).Count()); boxModelService.Add(boxModel); if (boxModel.HasErrors) { Assert.AreEqual("", boxModel.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(true, boxModelService.GetBoxModelList().Where(c => c == boxModel).Any()); boxModelService.Update(boxModel); if (boxModel.HasErrors) { Assert.AreEqual("", boxModel.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count + 1, boxModelService.GetBoxModelList().Count()); boxModelService.Delete(boxModel); if (boxModel.HasErrors) { Assert.AreEqual("", boxModel.ValidationResults.FirstOrDefault().ErrorMessage); } Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); } } }
public IHttpActionResult Put([FromBody] BoxModel boxModel, [FromUri] string lang = "en") { using (CSSPDBContext db = new CSSPDBContext(DatabaseType)) { BoxModelService boxModelService = new BoxModelService(new Query() { Language = (lang == "fr" ? LanguageEnum.fr : LanguageEnum.en) }, db, ContactID); if (!boxModelService.Update(boxModel)) { return(BadRequest(String.Join("|||", boxModel.ValidationResults))); } else { boxModel.ValidationResults = null; return(Ok(boxModel)); } } }
public void BoxModel_Properties_Test() { foreach (CultureInfo culture in AllowableCulture) { ChangeCulture(culture); using (CSSPDBContext dbTestDB = new CSSPDBContext(DatabaseTypeEnum.SqlServerTestDB)) { BoxModelService boxModelService = new BoxModelService(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 = boxModelService.GetBoxModelList().Count(); BoxModel boxModel = GetFilledRandomBoxModel(""); // ------------------------------- // ------------------------------- // Properties testing // ------------------------------- // ------------------------------- // ----------------------------------- // [Key] // Is NOT Nullable // boxModel.BoxModelID (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.BoxModelID = 0; boxModelService.Update(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "BoxModelID"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.BoxModelID = 10000000; boxModelService.Update(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "BoxModel", "BoxModelID", boxModel.BoxModelID.ToString()), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Infrastructure)] // boxModel.InfrastructureTVItemID (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.InfrastructureTVItemID = 0; boxModelService.Add(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "InfrastructureTVItemID", boxModel.InfrastructureTVItemID.ToString()), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.InfrastructureTVItemID = 1; boxModelService.Add(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "InfrastructureTVItemID", "Infrastructure"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000)] // boxModel.Discharge_m3_day (Double) // ----------------------------------- //CSSPError: Type not implemented [Discharge_m3_day] //CSSPError: Type not implemented [Discharge_m3_day] boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Discharge_m3_day = -1.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Discharge_m3_day", "0", "10000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Discharge_m3_day = 10001.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Discharge_m3_day", "0", "10000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 1000)] // boxModel.Depth_m (Double) // ----------------------------------- //CSSPError: Type not implemented [Depth_m] //CSSPError: Type not implemented [Depth_m] boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Depth_m = -1.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Depth_m", "0", "1000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Depth_m = 1001.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Depth_m", "0", "1000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(-15, 40)] // boxModel.Temperature_C (Double) // ----------------------------------- //CSSPError: Type not implemented [Temperature_C] //CSSPError: Type not implemented [Temperature_C] boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Temperature_C = -16.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Temperature_C", "-15", "40"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Temperature_C = 41.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Temperature_C", "-15", "40"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000000)] // boxModel.Dilution (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Dilution = -1; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Dilution", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Dilution = 10000001; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Dilution", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 100)] // boxModel.DecayRate_per_day (Double) // ----------------------------------- //CSSPError: Type not implemented [DecayRate_per_day] //CSSPError: Type not implemented [DecayRate_per_day] boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.DecayRate_per_day = -1.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "DecayRate_per_day", "0", "100"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.DecayRate_per_day = 101.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "DecayRate_per_day", "0", "100"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000000)] // boxModel.FCUntreated_MPN_100ml (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.FCUntreated_MPN_100ml = -1; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "FCUntreated_MPN_100ml", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.FCUntreated_MPN_100ml = 10000001; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "FCUntreated_MPN_100ml", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000000)] // boxModel.FCPreDisinfection_MPN_100ml (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.FCPreDisinfection_MPN_100ml = -1; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "FCPreDisinfection_MPN_100ml", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.FCPreDisinfection_MPN_100ml = 10000001; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "FCPreDisinfection_MPN_100ml", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 10000000)] // boxModel.Concentration_MPN_100ml (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Concentration_MPN_100ml = -1; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Concentration_MPN_100ml", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.Concentration_MPN_100ml = 10000001; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "Concentration_MPN_100ml", "0", "10000000"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, -1)] // boxModel.T90_hour (Double) // ----------------------------------- //CSSPError: Type not implemented [T90_hour] //CSSPError: Type not implemented [T90_hour] boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.T90_hour = -1.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._MinValueIs_, "T90_hour", "0"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [Range(0, 24)] // boxModel.DischargeDuration_hour (Double) // ----------------------------------- //CSSPError: Type not implemented [DischargeDuration_hour] //CSSPError: Type not implemented [DischargeDuration_hour] boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.DischargeDuration_hour = -1.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "DischargeDuration_hour", "0", "24"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.DischargeDuration_hour = 25.0D; Assert.AreEqual(false, boxModelService.Add(boxModel)); Assert.AreEqual(string.Format(CSSPServicesRes._ValueShouldBeBetween_And_, "DischargeDuration_hour", "0", "24"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); Assert.AreEqual(count, boxModelService.GetBoxModelList().Count()); // ----------------------------------- // Is NOT Nullable // [CSSPAfter(Year = 1980)] // boxModel.LastUpdateDate_UTC (DateTime) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.LastUpdateDate_UTC = new DateTime(); boxModelService.Add(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes._IsRequired, "LastUpdateDate_UTC"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.LastUpdateDate_UTC = new DateTime(1979, 1, 1); boxModelService.Add(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes._YearShouldBeBiggerThan_, "LastUpdateDate_UTC", "1980"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [CSSPExist(ExistTypeName = "TVItem", ExistPlurial = "s", ExistFieldID = "TVItemID", AllowableTVtypeList = Contact)] // boxModel.LastUpdateContactTVItemID (Int32) // ----------------------------------- boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.LastUpdateContactTVItemID = 0; boxModelService.Add(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes.CouldNotFind_With_Equal_, "TVItem", "LastUpdateContactTVItemID", boxModel.LastUpdateContactTVItemID.ToString()), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); boxModel = null; boxModel = GetFilledRandomBoxModel(""); boxModel.LastUpdateContactTVItemID = 1; boxModelService.Add(boxModel); Assert.AreEqual(string.Format(CSSPServicesRes._IsNotOfType_, "LastUpdateContactTVItemID", "Contact"), boxModel.ValidationResults.FirstOrDefault().ErrorMessage); // ----------------------------------- // Is NOT Nullable // [NotMapped] // boxModel.HasErrors (Boolean) // ----------------------------------- // No testing requied // ----------------------------------- // Is NOT Nullable // [NotMapped] // boxModel.ValidationResults (IEnumerable`1) // ----------------------------------- // No testing requied } } }