public void Validation_Leaving_Name_Null_or_short_causes_modelstate_not_valid() { var cd = new CourseDesign(); var cd2 = new CourseDesign(); cd.CourseDesignId = 1; cd2.CourseDesignId = 1; cd2.Name = "123"; var result = Validator.TryValidateObject(cd, new ValidationContext(cd), null, true); var result2 = Validator.TryValidateObject(cd2, new ValidationContext(cd2), null, true); result.Should().BeFalse(); result2.Should().BeFalse(); }
public async Task Create_shows_only_CourseDesigns_without_uid() { var cd = new CourseDesign { Name = "[uid] test", CourseDesignId = 7 }; Context.Add(cd); await Context.SaveChangesAsync(); var result = await Controller.Create(); result.As <ViewResult>().Model.As <CourseViewModel>().CourseDesigns .Count(x => x.Name.Substring(0, 1) == "[") .Should().Be(0); }
public async Task Edit_removes_uid_from_name_puts_it_in_Uid_prop() { var cd = new CourseDesign() { Name = "[test] name", CourseDesignId = 7 }; Context.Add(cd); await Context.SaveChangesAsync(); var result = await Controller.Edit(7); result.As <ViewResult>().Model.As <CourseDesignViewModel>().Uid.Should().Match("[test]"); result.As <ViewResult>().Model.As <CourseDesignViewModel>().CourseDesign.Name.Should().Match("name"); }
public void Validation_entering_disallowed_character_in_Name_field_causes_modelstate_not_valid() { var x = new CourseDesign(); var x2 = new CourseDesign(); var x3 = new CourseDesign(); x.Name = "[123"; x2.Name = "123]"; x3.Name = "12_3"; var result = Validator.TryValidateObject(x, new ValidationContext(x), null, true); var result2 = Validator.TryValidateObject(x2, new ValidationContext(x2), null, true); var result3 = Validator.TryValidateObject(x3, new ValidationContext(x3), null, true); result.Should().BeFalse(); result2.Should().BeFalse(); result3.Should().BeFalse(); }
public async Task RemoveCourseDesignAsync(CourseDesign courseDesign) { var uid = courseDesign.GetUid(); if (uid != "") { foreach (var courseSeminar in courseDesign.CourseSeminars) { foreach (var seminarDay in courseSeminar.Seminar.SeminarDays) { foreach (var daySubject in seminarDay.Day.DaySubjects) { if (daySubject.Subject.Name.Length >= uid.Length && daySubject.Subject.Name.Substring(0, uid.Length) == uid) { _context.Remove(daySubject.Subject); } } if (seminarDay.Day.Name.Length >= uid.Length && seminarDay.Day.Name.Substring(0, uid.Length) == uid) { _context.Remove(seminarDay.Day); } } if (courseSeminar.Seminar.Name.Length >= uid.Length && courseSeminar.Seminar.Name.Substring(0, uid.Length) == uid) { _context.Remove(courseSeminar.Seminar); } } if (courseDesign.Name.Length >= uid.Length && courseDesign.Name.Substring(0, uid.Length) == uid) { _context.Remove(courseDesign); } } _context.Remove(courseDesign); await _context.SaveChangesAsync(); }
public CourseDesignViewModel(List <Seminar> seminars, string lastPage) { CourseDesign = new CourseDesign(); CheckList = new List <CheckedId>(); Seminars = seminars; LastPage = lastPage; foreach (var sem in seminars) { var check = new CheckedId() { Id = sem.SeminarId, Name = sem.Name, Description = sem.Description, IsSelected = false }; CheckList.Add(check); } }
public CourseDesignViewModel(CourseDesign courseDesign, List <Seminar> seminars) { CourseDesign = courseDesign; CheckList = new List <CheckedId>(); Seminars = seminars; foreach (var sem in seminars) { bool isInCourseSeminars = (CourseDesign.CourseSeminars.Any(x => x.SeminarId == sem.SeminarId)); var check = new CheckedId() { Id = sem.SeminarId, Name = sem.Name, Description = sem.Description, IsSelected = isInCourseSeminars }; CheckList.Add(check); } }
public async Task Edit_puts_uid_and_name_back_together_when_saving_to_context() { const string name = "[test] name"; var cd = new CourseDesign { Name = name, CourseDesignId = 7 }; Context.Add(cd); await Context.SaveChangesAsync(); var actionResult = await Controller.Edit(7); var model = actionResult.As <ViewResult>().Model.As <CourseDesignViewModel>(); await Controller.Edit(7, model); var result = Context.CourseDesigns.FirstOrDefault(x => x.CourseDesignId == 7); result?.Name.Should().Be(name); }
public CourseDesignViewModel(CourseDesign courseDesign, string lastPage) { CourseDesign = courseDesign; LastPage = lastPage; }