private ISuccessOrErrors DeleteBloggerWithPost(IGenericServicesDbContext db, SimplePostDto post) { var blogger = db.Set <Blog>().SingleOrDefault(x => x.Name == post.BloggerName); db.Set <Blog>().Remove(blogger); return(SuccessOrErrors.Success("It was fine.")); }
public void Test01CreateDataFromDtoOk() { //SETUP var dto = new SimplePostDto { PostId = 123, BloggerName = "This should not be copied", Title = "Should copy this title", LastUpdated = new DateTime(2000, 1, 1), Tags = new Collection <Tag> { new Tag { Name = "Should not copy this", Slug = "No" } } }; //ATTEMPT var status = dto.CreateDataFromDto(null, dto); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.PostId.ShouldEqual(123); status.Result.Title.ShouldEqual("Should copy this title"); status.Result.Blogger.ShouldEqual(null); status.Result.BlogId.ShouldEqual(0); status.Result.Content.ShouldEqual(null); status.Result.Tags.ShouldEqual(null); }
public void Test01CreateDataFromDtoOk() { //SETUP var dto = new SimplePostDto { PostId = 123, BloggerName = "This should not be copied", Title = "Should copy this title", LastUpdated = new DateTime(2000, 1, 1), Tags = new Collection<Tag> { new Tag { Name = "Should not copy this", Slug = "No" } } }; //ATTEMPT var status = dto.CreateDataFromDto(null, dto); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.PostId.ShouldEqual(123); status.Result.Title.ShouldEqual("Should copy this title"); status.Result.Blogger.ShouldEqual(null); status.Result.BlogId.ShouldEqual(0); status.Result.Content.ShouldEqual(null); status.Result.Tags.ShouldEqual(null); }
public void Test02UpdateDataFromDtoOk() { //SETUP var dto = new SimplePostDto { PostId = 123, BloggerName = "This should not be copied", Title = "Should copy this title", LastUpdated = new DateTime(2000, 1, 1), Tags = new Collection <Tag> { new Tag { Name = "Should not copy this", Slug = "No" } } }; //ATTEMPT var newData = new Post { Blogger = new Blog { Name = "Original Blog Name" }, BlogId = 777, Content = "Original Content", Tags = new Collection <Tag> { new Tag { Name = "Original Tag name", Slug = "Yes" } } }; var status = dto.UpdateDataFromDto(null, dto, newData); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); newData.PostId.ShouldEqual(123); newData.Title.ShouldEqual("Should copy this title"); newData.Blogger.Name.ShouldEqual("Original Blog Name"); newData.BlogId.ShouldEqual(777); newData.Content.ShouldEqual("Original Content"); newData.Tags.Count.ShouldEqual(1); newData.Tags.First().Name.ShouldEqual("Original Tag name"); }
public void Check08CreateWithListDtoBad() { using (var db = new SampleWebAppDb()) { //SETUP var service = new CreateService <Post, SimplePostDto>(db); //ATTEMPT var dto = new SimplePostDto(); var status = service.Create(dto); dto.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(false); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEqual("Create of a new Post is not supported in this mode."); } }
public void Test06CreateDtoAndCopyInDataOk() { using (var db = new SampleWebAppDb()) { //SETUP; var firstPost = db.Posts.Include(x => x.Blogger).Include(x => x.Tags).AsNoTracking().First(); //ATTEMPT var status = new SimplePostDto().DetailDtoFromDataIn(db, x => x.PostId == firstPost.PostId); //VERIFY status.Result.PostId.ShouldEqual(firstPost.PostId); status.Result.Title.ShouldEqual(firstPost.Title); status.Result.LastUpdated.ShouldEqual(firstPost.LastUpdated); status.Result.LastUpdatedUtc.Kind.ShouldEqual(DateTimeKind.Utc); status.Result.BloggerName.ShouldEqual(firstPost.Blogger.Name); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.TagId), status.Result.Tags.Select(x => x.TagId)); } }
private ISuccessOrErrors DeleteBloggerWithPost(IGenericServicesDbContext db, SimplePostDto post) { var blogger = db.Set<Blog>().SingleOrDefault(x => x.Name == post.BloggerName); db.Set<Blog>().Remove(blogger); return SuccessOrErrors.Success("It was fine."); }
public void Check10CreateWithListDtoBad() { using (var db = new SampleWebAppDb()) { //SETUP var service = new CreateService<Post, SimplePostDto>(db); //ATTEMPT var dto = new SimplePostDto(); var status = service.Create(dto); dto.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(false); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEqual("Create of a new Post is not supported in this mode."); } }
public void Test02UpdateDataFromDtoOk() { //SETUP var dto = new SimplePostDto { PostId = 123, BloggerName = "This should not be copied", Title = "Should copy this title", LastUpdated = new DateTime(2000, 1, 1), Tags = new Collection<Tag> { new Tag { Name = "Should not copy this", Slug = "No" } } }; //ATTEMPT var newData = new Post { Blogger = new Blog { Name = "Original Blog Name" }, BlogId = 777, Content = "Original Content", Tags = new Collection<Tag> { new Tag { Name = "Original Tag name", Slug = "Yes" } } }; var status = dto.UpdateDataFromDto(null, dto, newData); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); newData.PostId.ShouldEqual(123); newData.Title.ShouldEqual("Should copy this title"); newData.Blogger.Name.ShouldEqual("Original Blog Name"); newData.BlogId.ShouldEqual(777); newData.Content.ShouldEqual("Original Content"); newData.Tags.Count.ShouldEqual(1); newData.Tags.First().Name.ShouldEqual("Original Tag name"); }
public void Test06CreateDtoAndCopyInDataOk() { using (var db = new SampleWebAppDb()) { //SETUP; var firstPost = db.Posts.Include( x => x.Blogger).Include(x => x.Tags).AsNoTracking().First(); //ATTEMPT var status = new SimplePostDto().DetailDtoFromDataIn(db, x => x.PostId == firstPost.PostId); //VERIFY status.Result.PostId.ShouldEqual(firstPost.PostId); status.Result.Title.ShouldEqual(firstPost.Title); status.Result.LastUpdated.ShouldEqual(firstPost.LastUpdated); status.Result.LastUpdatedUtc.Kind.ShouldEqual(DateTimeKind.Utc); status.Result.BloggerName.ShouldEqual(firstPost.Blogger.Name); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.TagId), status.Result.Tags.Select(x => x.TagId)); } }