Example #1
0
        public async void Returns_taxes_between_dates(DateTime dt, decimal expected)
        {
            using (var ctx = new TaxesDbContext()) {
                var municipality = new Municipality("Vilnius");

                var yearly = new Tax("Vilnius", new DateTime(2016, 1, 1), new DateTime(2016, 12, 31), (decimal)0.2);
                var mothly = new Tax("Vilnius", new DateTime(2016, 5, 1), new DateTime(2016, 5, 31), (decimal)0.4);
                var daily1 = new Tax("Vilnius", new DateTime(2016, 1, 1), (decimal)0.1);
                var daily2 = new Tax("Vilnius", new DateTime(2016, 12, 25), (decimal)0.1);
                municipality.AddTax(yearly);
                municipality.AddTax(mothly);
                municipality.AddTax(daily1);
                municipality.AddTax(daily2);

                ctx.Municipalities.Add(municipality);
                await ctx.SaveChangesAsync();

                using (var controller = new TaxesController(ctx)) {
                    var result = await controller.Get("Vilnius", dt);

                    Assert.IsType <OkNegotiatedContentResult <ViewModel.TaxGet> >(result);
                    var okResult = result as OkNegotiatedContentResult <ViewModel.TaxGet>;
                    Assert.Equal(okResult.Content.Rate, expected);
                }
            }
        }
Example #2
0
        public void Taxes_Cascade_Deletes()
        {
            using (var ctx = new TaxesDbContext()) {
                var municipality = new Municipality("Panevėžys");
                var taxes        = new List <Tax> {
                    new Tax("Vilnius", DateTime.Now, DateTime.Now, (decimal)0.1),
                    new Tax("Kaunas", DateTime.Now, DateTime.Now, (decimal)0.3)
                };

                taxes.ForEach(t => municipality.AddTax(t));

                ctx.Municipalities.Add(municipality);
                ctx.SaveChanges();

                Assert.Equal(2, ctx.Taxes.ToArray()
                             .Length);

                //Delete
                ctx.Municipalities.Remove(municipality);
                ctx.SaveChanges();

                Assert.Empty(ctx.Taxes.ToArray());
            }
        }