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 void Check01DetailFlowOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync <Tag, SimpleTagDtoAsync>(db); var firstTag = db.Tags.First(); //ATTEMPT var status = await service.GetDetailAsync(firstTag.TagId); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.FunctionsCalledCommaDelimited.ShouldEqual("DetailDtoFromDataInAsync"); } }
public async Task Check05DetailDirectPostNotFoundBad() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync <Post>(db); //ATTEMPT var status = await service.GetDetailUsingWhereAsync(x => x.PostId == 0); //VERIFY status.IsValid.ShouldEqual(false, status.Errors); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEqual("We could not find an entry using that filter. Has it been deleted by someone else?"); status.Result.ShouldNotEqualNull(); } }
public async Task Check03DetailDirectPostOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync(db); var firstPost = db.Posts.First(); //ATTEMPT var status = await service.GetDetailAsync<Post>(firstPost.PostId); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.PostId.ShouldEqual(firstPost.PostId); status.Result.Title.ShouldEqual(firstPost.Title); } }
public async Task Check03DetailDirectPostOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync(db); var firstPost = db.Posts.First(); //ATTEMPT var status = await service.GetDetailAsync <Post>(firstPost.PostId); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.PostId.ShouldEqual(firstPost.PostId); status.Result.Title.ShouldEqual(firstPost.Title); } }
public async Task Check04DetailDirectDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync(db); var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); //ATTEMPT var status = await service.GetDetailAsync <SimplePostDtoAsync>(firstPost.PostId); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.PostId.ShouldEqual(firstPost.PostId); status.Result.BloggerName.ShouldEqual(firstPost.Blogger.Name); status.Result.Title.ShouldEqual(firstPost.Title); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.TagId), status.Result.Tags.Select(x => x.TagId)); } }
public async void Perf03DetailPostOk() { 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 DetailServiceAsync<Post, DetailPostDtoAsync>(db); //ATTEMPT var status = await service.GetDetailAsync(postId); status.Result.LogSpecificName("End"); //VERIFY foreach (var log in status.Result.LogOfCalls) { Console.WriteLine(log); } } }
public async Task Check04DetailDirectDtoOk() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync(db); var firstPost = db.Posts.Include(x => x.Tags).AsNoTracking().First(); //ATTEMPT var status = await service.GetDetailAsync<SimplePostDtoAsync>(firstPost.PostId); //VERIFY status.IsValid.ShouldEqual(true, status.Errors); status.Result.PostId.ShouldEqual(firstPost.PostId); status.Result.BloggerName.ShouldEqual(firstPost.Blogger.Name); status.Result.Title.ShouldEqual(firstPost.Title); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.TagId), status.Result.Tags.Select(x => x.TagId)); } }
public async void Check07DetailComputedAsyncOk() { using (var db = new SampleWebAppDb()) { //SETUP GenericServicesConfig.UseDelegateDecompilerWhereNeeded = true; var service = new DetailServiceAsync <Post, DelegateDecompilePostDtoAsync>(db); var firstPost = db.Posts.Include(x => x.Tags).First(); //ATTEMPT var status = await service.GetDetailAsync(firstPost.PostId); //VERIFY status.ShouldBeValid(); status.Result.Title.ShouldEqual(firstPost.Title); status.Result.BloggerNameAndEmail.ShouldEndWith("nospam.com)"); status.Result.TagNames.ShouldNotEqualNull(); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.Name), status.Result.TagNames); } }
public static async Task UpdatePostGSelectDirectAsync(this SampleWebAppDb db, int postId) { var setupService = new DetailServiceAsync(db); var setupStatus = await setupService.GetDetailAsync <Post>(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 <Post>(db); var status = await service.UpdateAsync(setupStatus.Result); status.IsValid.ShouldEqual(true, status.Errors); }
public async void Perf01DetailPostOk() { 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 DetailServiceAsync <Post, SimplePostDtoAsync>(db); //ATTEMPT var status = await service.GetDetailAsync(postId); status.Result.LogSpecificName("End"); //VERIFY foreach (var log in status.Result.LogOfCalls) { Console.WriteLine(log); } } }
public async void Check07DetailComputedAsyncOk() { using (var db = new SampleWebAppDb()) { //SETUP GenericServicesConfig.UseDelegateDecompilerWhereNeeded = true; var service = new DetailServiceAsync<Post, DelegateDecompilePostDtoAsync>(db); var firstPost = db.Posts.Include(x => x.Tags).First(); //ATTEMPT var status = await service.GetDetailAsync(firstPost.PostId); //VERIFY status.ShouldBeValid(); status.Result.Title.ShouldEqual(firstPost.Title); status.Result.BloggerNameAndEmail.ShouldEndWith("nospam.com)"); status.Result.TagNames.ShouldNotEqualNull(); CollectionAssert.AreEqual(firstPost.Tags.Select(x => x.Name), status.Result.TagNames); } }
public async Task Check05DetailDirectPostNotFoundBad() { using (var db = new SampleWebAppDb()) { //SETUP var service = new DetailServiceAsync<Post>(db); //ATTEMPT var status = await service.GetDetailUsingWhereAsync(x => x.PostId == 0); //VERIFY status.IsValid.ShouldEqual(false, status.Errors); status.Errors.Count.ShouldEqual(1); status.Errors[0].ErrorMessage.ShouldEqual("We could not find an entry using that filter. Has it been deleted by someone else?"); status.Result.ShouldNotEqualNull(); } }
public async Task <ISuccessOrErrors <TEntity> > GetAsync(int key) { return(await DetailServiceAsync.GetDetailAsync(key)); }