public async void Check07UpdateWithListDtoCheckDateOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var originalDateTime = firstPost.LastUpdated; Thread.Sleep(400); var service = new UpdateServiceAsync <Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync <Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); setupStatus.Result.LastUpdated = new DateTime(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.SuccessMessage.ShouldEqual("Successfully updated Post."); snap.CheckSnapShot(db); Assert.GreaterOrEqual(db.Posts.First().LastUpdated.Subtract(originalDateTime).Milliseconds, 400); } }
public async void Perf22UpdatePostAddTagOk() { int postId; using (var db = new SampleWebAppDb()) postId = db.Posts.Include(x => x.Tags).AsNoTracking().First().PostId; using (var db = new SampleWebAppDb()) { //SETUP var setupService = new UpdateSetupServiceAsync <Post, DetailPostDtoAsync>(db); var updateService = new UpdateServiceAsync <Post, DetailPostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(postId); setupStatus.Result.Title = Guid.NewGuid().ToString(); setupStatus.Result.Bloggers.SelectedValue = db.Blogs.First().BlogId.ToString("D"); setupStatus.Result.UserChosenTags.FinalSelection = db.Tags.Take(3).ToList().Select(x => x.TagId.ToString("D")).ToArray(); var status = await updateService.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); foreach (var log in setupStatus.Result.LogOfCalls) { Console.WriteLine(log); } } }
public async void Perf06UpdateWithListDtoOk() { int postId; using (var db = new SampleWebAppDb()) postId = db.Posts.Include(x => x.Tags).AsNoTracking().First().PostId; using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync <Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync <Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(postId); setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); foreach (var log in setupStatus.Result.LogOfCalls) { Console.WriteLine(log); } } }
public async void Check06UpdateWithListDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var service = new UpdateServiceAsync <Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync <Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.SuccessMessage.ShouldEqual("Successfully updated Post."); snap.CheckSnapShot(db); } }
public async void Check22UpdatePostAddTagOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var setupService = new UpdateSetupServiceAsync <Post, DetailPostDtoAsync>(db); var updateService = new UpdateServiceAsync <Post, DetailPostDtoAsync>(db); var firstPost = db.Posts.First(); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); setupStatus.Result.Bloggers.SelectedValue = db.Blogs.First().BlogId.ToString("D"); setupStatus.Result.UserChosenTags.FinalSelection = db.Tags.Take(3).ToList().Select(x => x.TagId.ToString("D")).ToArray(); var status = await updateService.UpdateAsync(setupStatus.Result); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); snap.CheckSnapShot(db, 0, 1); var post = db.Posts.Include(x => x.Tags).Single(x => x.PostId == firstPost.PostId); post.Title.ShouldEqual(setupStatus.Result.Title); post.BlogId.ShouldEqual(db.Blogs.First().BlogId); CollectionAssert.AreEquivalent(db.Tags.Take(3).Select(x => x.TagId), post.Tags.Select(x => x.TagId)); } }
public async void Check07UpdateDirectPostCorrectOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPostUntrackedNoIncludes = db.Posts.AsNoTracking().First(); var firstPostUntrackedWithIncludes = db.Posts.AsNoTracking().Include(x => x.Tags).First(); var service = new UpdateServiceAsync <Post>(db); //ATTEMPT firstPostUntrackedNoIncludes.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(firstPostUntrackedNoIncludes); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); snap.CheckSnapShot(db); var updatedPost = db.Posts.Include(x => x.Tags).First(); updatedPost.Title.ShouldEqual(firstPostUntrackedNoIncludes.Title); updatedPost.Content.ShouldEqual(firstPostUntrackedWithIncludes.Content); updatedPost.Blogger.ShouldNotEqualNull(); updatedPost.Blogger.Name.ShouldEqual(firstPostUntrackedWithIncludes.Blogger.Name); CollectionAssert.AreEqual(firstPostUntrackedWithIncludes.Tags.Select(x => x.TagId), updatedPost.Tags.Select(x => x.TagId)); } }
public async void Check08UpdateWithListDtoCorrectOk() { using (var db = new SampleWebAppDb()) { //SETUP var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var service = new UpdateServiceAsync <Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync <Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); var updatedPost = db.Posts.Include(x => x.Tags).First(); updatedPost.Title.ShouldEqual(setupStatus.Result.Title); updatedPost.Blogger.ShouldNotEqualNull(); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.TagId), updatedPost.Tags.Select(x => x.TagId)); } }
public async void Check01ReferencesOk() { //SETUP //ATTEMPT ICreateServiceAsync <Post, DetailPostDtoAsync> createService = new CreateServiceAsync <Post, DetailPostDtoAsync>(null); IDetailServiceAsync <Post, DetailPostDtoAsync> detailService = new DetailServiceAsync <Post, DetailPostDtoAsync>(null); IUpdateServiceAsync <Post, DetailPostDtoAsync> updateService = new UpdateServiceAsync <Post, DetailPostDtoAsync>(null); //VERIFY (createService is CreateServiceAsync <Post, DetailPostDtoAsync>).ShouldEqual(true); }
public void Check01DirectReferenceOk() { //SETUP //ATTEMPT ICreateServiceAsync <Post> createService = new CreateServiceAsync <Post>(null); IDetailServiceAsync <Post> detailService = new DetailServiceAsync <Post>(null); IDeleteServiceAsync deleteService = new DeleteServiceAsync(null); IUpdateServiceAsync <Post> updateService = new UpdateServiceAsync <Post>(null); //VERIFY (updateService is IUpdateServiceAsync <Post>).ShouldEqual(true); }
public void Check01ReferenceOk() { //SETUP //ATTEMPT ICreateServiceAsync<Post, SimplePostDtoAsync> createService = new CreateServiceAsync<Post, SimplePostDtoAsync>(null); IDetailServiceAsync<Post, SimplePostDtoAsync> detailService = new DetailServiceAsync<Post, SimplePostDtoAsync>(null); IUpdateServiceAsync<Post, SimplePostDtoAsync> updateService = new UpdateServiceAsync<Post, SimplePostDtoAsync>(null); //VERIFY (createService is ICreateServiceAsync<Post, SimplePostDtoAsync>).ShouldEqual(true); }
public void Check01DirectReferenceOk() { //SETUP //ATTEMPT ICreateServiceAsync<Post> createService = new CreateServiceAsync<Post>(null); IDetailServiceAsync<Post> detailService = new DetailServiceAsync<Post>(null); IDeleteServiceAsync deleteService = new DeleteServiceAsync(null); IUpdateServiceAsync<Post> updateService = new UpdateServiceAsync<Post>(null); //VERIFY (updateService is IUpdateServiceAsync<Post>).ShouldEqual(true); }
public async Task Check08UpdateResetDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync(db); var dto = new DetailPostDtoAsync(); //ATTEMPT await service.ResetDtoAsync(dto); //VERIFY dto.Bloggers.ShouldNotEqualNull(); dto.Bloggers.KeyValueList.Count.ShouldNotEqual(0); } }
public async void Check26UpdateServiceResetWorksOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync <Post, DetailPostDtoAsync>(db); //ATTEMPT var dto = new DetailPostDtoAsync(); await service.ResetDtoAsync(dto); //VERIFY dto.Bloggers.KeyValueList.Count.ShouldEqual(db.Blogs.Count() + 1); dto.UserChosenTags.AllPossibleOptions.Count.ShouldEqual(db.Tags.Count()); } }
public async void Check02UpdateFailOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync <Tag, SimpleTagDtoAsync>(db); var dto = new SimpleTagDtoAsync(); dto.SetSupportedFunctions(CrudFunctions.None); //ATTEMPT var status = await service.UpdateAsync(dto); //VERIFY status.IsValid.ShouldEqual(false); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEndWith("is not supported in this mode."); dto.FunctionsCalledCommaDelimited.ShouldEqual(""); } }
public async Task Check06UpdateDirectOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPostUntracked = db.Posts.AsNoTracking().First(); var service = new UpdateServiceAsync(db); //ATTEMPT firstPostUntracked.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(firstPostUntracked); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.SuccessMessage.ShouldEqual("Successfully updated Post."); snap.CheckSnapShot(db); } }
public async void Check02UpdateFailOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync<Tag, SimpleTagDtoAsync>(db); var dto = new SimpleTagDtoAsync(); dto.SetSupportedFunctions(CrudFunctions.None); //ATTEMPT var status = await service.UpdateAsync(dto); //VERIFY status.IsValid.ShouldEqual(false); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEndWith("is not supported in this mode."); dto.FunctionsCalledCommaDelimited.ShouldEqual(""); } }
public static async Task UpdatePostGSelectViaDtoAsync(this SampleWebAppDb db, int postId) { var setupService = new UpdateSetupServiceAsync(db); var setupStatus = await setupService.GetOriginalAsync <DetailPostDtoAsync>(postId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); var guidString = Guid.NewGuid().ToString("N"); setupStatus.Result.Title = guidString; setupStatus.Result.Content = guidString; setupStatus.Result.Tags = new Collection <Tag> { db.Tags.First() }; var service = new UpdateServiceAsync(db); var status = await service.UpdateAsync(setupStatus.Result); status.IsValid.ShouldEqual(true, status.Errors); }
public async void Check02UpdateFlow(InstrumentedOpFlags errorFlag, bool isValid, string expectedFunctionsCalled) { using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync <Tag, SimpleTagDtoAsync>(db); var dto = new SimpleTagDtoAsync(errorFlag) { TagId = db.Tags.First().TagId, Name = "Test Name", Slug = Guid.NewGuid().ToString("N") }; //ATTEMPT var status = await service.UpdateAsync(dto); //VERIFY status.IsValid.ShouldEqual(isValid); dto.FunctionsCalledCommaDelimited.ShouldEqual(expectedFunctionsCalled); } }
public async Task Check07UpdateDirectDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPostUntrackedNoIncludes = db.Posts.AsNoTracking().First(); var service = new UpdateServiceAsync(db); var setupStatus = await(new UpdateSetupServiceAsync(db)).GetOriginalAsync <SimplePostDtoAsync>(firstPostUntrackedNoIncludes.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); //ATTEMPT setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); snap.CheckSnapShot(db); var updatedPost = db.Posts.Include(x => x.Tags).First(); updatedPost.Title.ShouldEqual(setupStatus.Result.Title); updatedPost.Content.ShouldEqual(firstPostUntrackedNoIncludes.Content); } }
public async void Check25UpdatePostFailRunsSetupSecondaryDataAgainOk() { using (var db = new SampleWebAppDb()) { //SETUP var setupService = new UpdateSetupServiceAsync <Post, DetailPostDtoAsync>(db); var updateService = new UpdateServiceAsync <Post, DetailPostDtoAsync>(db); var firstPost = db.Posts.First(); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = null; //that will fail setupStatus.Result.Bloggers.SelectedValue = db.Blogs.First().BlogId.ToString("D"); setupStatus.Result.UserChosenTags.FinalSelection = db.Tags.Take(3).ToList().Select(x => x.TagId.ToString("D")).ToArray(); var status = await updateService.UpdateAsync(setupStatus.Result); //VERIFY status.IsValid.ShouldEqual(false); setupStatus.Result.Bloggers.KeyValueList.Count.ShouldEqual(db.Blogs.Count() + 1); setupStatus.Result.UserChosenTags.AllPossibleOptions.Count.ShouldEqual(db.Tags.Count()); } }
public async void Check09UpdateWithListDtoBad() { using (var db = new SampleWebAppDb()) { //SETUP var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var service = new UpdateServiceAsync <Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync <Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = "Can't I ask a question?"; var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(false); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEqual("Sorry, but you can't ask a question, i.e. the title can't end with '?'."); } }
public async void Perf22UpdatePostAddTagOk() { int postId; using (var db = new SampleWebAppDb()) postId = db.Posts.Include(x => x.Tags).AsNoTracking().First().PostId; using (var db = new SampleWebAppDb()) { //SETUP var setupService = new UpdateSetupServiceAsync<Post, DetailPostDtoAsync>(db); var updateService = new UpdateServiceAsync<Post, DetailPostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(postId); setupStatus.Result.Title = Guid.NewGuid().ToString(); setupStatus.Result.Bloggers.SelectedValue = db.Blogs.First().BlogId.ToString("D"); setupStatus.Result.UserChosenTags.FinalSelection = db.Tags.Take(3).ToList().Select(x => x.TagId.ToString("D")).ToArray(); var status = await updateService.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); foreach (var log in setupStatus.Result.LogOfCalls) { Console.WriteLine(log); } } }
public async Task Check07UpdateDirectDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPostUntrackedNoIncludes = db.Posts.AsNoTracking().First(); var service = new UpdateServiceAsync(db); var setupStatus = await (new UpdateSetupServiceAsync(db)).GetOriginalAsync<SimplePostDtoAsync>(firstPostUntrackedNoIncludes.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); //ATTEMPT setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); snap.CheckSnapShot(db); var updatedPost = db.Posts.Include(x => x.Tags).First(); updatedPost.Title.ShouldEqual(setupStatus.Result.Title); updatedPost.Content.ShouldEqual(firstPostUntrackedNoIncludes.Content); } }
public async Task <ISuccessOrErrors> PatchAsync(TEntity entity) { return(await UpdateServiceAsync.UpdateAsync(entity)); }
public async void Check09UpdateWithListDtoBad() { using (var db = new SampleWebAppDb()) { //SETUP var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var service = new UpdateServiceAsync<Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync<Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = "Can't I ask a question?"; var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(false); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEqual("Sorry, but you can't ask a question, i.e. the title can't end with '?'."); } }
public async void Check08UpdateWithListDtoCorrectOk() { using (var db = new SampleWebAppDb()) { //SETUP var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var service = new UpdateServiceAsync<Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync<Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); var updatedPost = db.Posts.Include(x => x.Tags).First(); updatedPost.Title.ShouldEqual(setupStatus.Result.Title); updatedPost.Blogger.ShouldNotEqualNull(); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.TagId), updatedPost.Tags.Select(x => x.TagId)); } }
public async void Check07UpdateDirectPostCorrectOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPostUntrackedNoIncludes = db.Posts.AsNoTracking().First(); var firstPostUntrackedWithIncludes = db.Posts.AsNoTracking().Include( x => x.Tags).First(); var service = new UpdateServiceAsync<Post>(db); //ATTEMPT firstPostUntrackedNoIncludes.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(firstPostUntrackedNoIncludes); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); snap.CheckSnapShot(db); var updatedPost = db.Posts.Include(x => x.Tags).First(); updatedPost.Title.ShouldEqual(firstPostUntrackedNoIncludes.Title); updatedPost.Content.ShouldEqual(firstPostUntrackedWithIncludes.Content); updatedPost.Blogger.ShouldNotEqualNull(); updatedPost.Blogger.Name.ShouldEqual(firstPostUntrackedWithIncludes.Blogger.Name); CollectionAssert.AreEqual(firstPostUntrackedWithIncludes.Tags.Select(x => x.TagId), updatedPost.Tags.Select(x => x.TagId)); } }
public async void Check06UpdateWithListDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var service = new UpdateServiceAsync<Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync<Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.SuccessMessage.ShouldEqual("Successfully updated Post."); snap.CheckSnapShot(db); } }
public async void Perf06UpdateWithListDtoOk() { int postId; using (var db = new SampleWebAppDb()) postId = db.Posts.Include(x => x.Tags).AsNoTracking().First().PostId; using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync<Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync<Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(postId); setupStatus.Result.Title = Guid.NewGuid().ToString(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); foreach (var log in setupStatus.Result.LogOfCalls) { Console.WriteLine(log); } } }
public async void Check02UpdateFlow(InstrumentedOpFlags errorFlag, bool isValid, string expectedFunctionsCalled) { using (var db = new SampleWebAppDb()) { //SETUP var service = new UpdateServiceAsync<Tag, SimpleTagDtoAsync>(db); var dto = new SimpleTagDtoAsync(errorFlag) { TagId = db.Tags.First().TagId, Name = "Test Name", Slug = Guid.NewGuid().ToString("N") }; //ATTEMPT var status = await service.UpdateAsync(dto); //VERIFY status.IsValid.ShouldEqual(isValid); dto.FunctionsCalledCommaDelimited.ShouldEqual(expectedFunctionsCalled); } }
public async void Check07UpdateWithListDtoCheckDateOk() { using (var db = new SampleWebAppDb()) { //SETUP var snap = new DbSnapShot(db); var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); var originalDateTime = firstPost.LastUpdated; Thread.Sleep(400); var service = new UpdateServiceAsync<Post, SimplePostDtoAsync>(db); var setupService = new UpdateSetupServiceAsync<Post, SimplePostDtoAsync>(db); //ATTEMPT var setupStatus = await setupService.GetOriginalAsync(firstPost.PostId); setupStatus.IsValid.ShouldEqual(true, setupStatus.Errors); setupStatus.Result.Title = Guid.NewGuid().ToString(); setupStatus.Result.LastUpdated = new DateTime(); var status = await service.UpdateAsync(setupStatus.Result); setupStatus.Result.LogSpecificName("End"); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.SuccessMessage.ShouldEqual("Successfully updated Post."); snap.CheckSnapShot(db); Assert.GreaterOrEqual(db.Posts.First().LastUpdated.Subtract(originalDateTime).Milliseconds, 400); } }