Exemple #1
0
        public async Task Test_delete_dinner()
        {
            AlexBoyd.Dinner.Dinner dinner = null;
            using (var ctx = new MyContext(_ConnectionString))
            {
                dinner = ctx.Dinners.Add(new AlexBoyd.Dinner.Dinner()
                {
                    Title    = "Dinner Title",
                    Date     = DateTime.UtcNow,
                    Address  = "Awesome Street, Detroit, MI",
                    HostedBy = "The Artist Formerly Known as Prince"
                });

                ctx.SaveChanges();
            }
            var bootstrapper = new ConfigurableBootstrapper(with =>
            {
                with.Module <DinnerModule>();
                with.Dependencies <IMyContext>(new MyContext(_ConnectionString));
            });

            var browser = new Browser(bootstrapper);

            var response = browser.Delete("/dinner/" + Convert.ToString(dinner.Id));

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

            using (var ctx = new MyContext(_ConnectionString))
            {
                int count = await ctx.Set <AlexBoyd.Dinner.Dinner>().CountAsync();

                Assert.AreEqual(0, count);
            }
        }
Exemple #2
0
        public void Test_read_dinner()
        {
            AlexBoyd.Dinner.Dinner dinner = null;
            using (var ctx = new MyContext(_ConnectionString))
            {
                dinner = ctx.Dinners.Add(new AlexBoyd.Dinner.Dinner()
                {
                    Title    = "Dinner Title",
                    Date     = DateTime.UtcNow,
                    Address  = "Awesome Street, Detroit, MI",
                    HostedBy = "The Artist Formerly Known as Prince"
                });

                ctx.SaveChanges();
            }
            var bootstrapper = new ConfigurableBootstrapper(with =>
            {
                with.Module <DinnerModule>();
                with.Dependencies <IMyContext>(new MyContext(_ConnectionString));
            });

            var browser = new Browser(bootstrapper);

            var response = browser.Get("/dinner/");

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

            String responseString = response.Body.AsString();

            IList <AlexBoyd.Dinner.Dinner> dinners = response.Body.DeserializeJson <IList <AlexBoyd.Dinner.Dinner> >();

            Assert.AreEqual(1, dinners.Count);
        }
Exemple #3
0
        public async Task Test_update_dinner()
        {
            AlexBoyd.Dinner.Dinner dinner = null;
            using (var ctx = new MyContext(_ConnectionString))
            {
                dinner = ctx.Dinners.Add(new AlexBoyd.Dinner.Dinner()
                {
                    Title    = "Dinner Title",
                    Date     = DateTime.UtcNow,
                    Address  = "Awesome Street, Detroit, MI",
                    HostedBy = "The Artist Formerly Known as Prince"
                });

                ctx.SaveChanges();
            }
            var bootstrapper = new ConfigurableBootstrapper(with =>
            {
                with.Module <DinnerModule>();
                with.Dependencies <IMyContext>(new MyContext(_ConnectionString));
            });

            var browser  = new Browser(bootstrapper);
            var newTitle = "I am different";
            var response = browser.Put("/dinner/" + Convert.ToString(dinner.Id), with =>
            {
                with.JsonBody <AlexBoyd.Dinner.Dinner>(new AlexBoyd.Dinner.Dinner()
                {
                    Title    = newTitle,
                    Date     = dinner.Date,
                    Address  = dinner.Address,
                    HostedBy = dinner.HostedBy
                });
            });

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);

            using (var ctx = new MyContext(_ConnectionString))
            {
                var updatedDinner = await ctx.Set <AlexBoyd.Dinner.Dinner>().FirstAsync(d => d.Id == dinner.Id);

                Assert.AreEqual(newTitle, updatedDinner.Title);
            }
        }