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);
        }
Пример #2
0
        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");
            }
        }
Пример #6
0
        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));
            }
        }
Пример #12
0
        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);
            }
        }
Пример #13
0
        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();
            }
        }
Пример #17
0
 public async Task <ISuccessOrErrors <TEntity> > GetAsync(int key)
 {
     return(await DetailServiceAsync.GetDetailAsync(key));
 }