public async void Import_file_adds_to_existing_test() { using (var ctx = new TaxesDbContext()) { ctx.Municipalities.Add(new Municipality("Vilnius")); ctx.Municipalities.Add(new Municipality("Kaunas")); await ctx.SaveChangesAsync(); using (var content = new MultipartFormDataContent()) { using (var file = File.OpenRead(@"TestFiles\municipalitiesList.csv")) { using (var stream = new StreamContent(file)) { stream.Headers.ContentType = new MediaTypeHeaderValue("application/vnd.excel"); stream.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { FileName = "municipalitiesList.csv" }; content.Add(stream); var result = await _server.HttpClient.PostAsync("api/municipalities", content); Assert.True(result.IsSuccessStatusCode); } } } var municipalities = await ctx.Municipalities.ToArrayAsync(); Assert.Equal(103, municipalities.Length); } }
public async void Tax_add_to_municpality_and_get_from_location() { using (var ctx = new TaxesDbContext()) { ctx.Municipalities.Add(new Municipality("Vilnius")); await ctx.SaveChangesAsync(); var tax = new TaxPost { DateFrom = new DateTime(2017, 1, 1), DateTo = new DateTime(2017, 1, 10), Rate = (decimal)0.5 }; //var content = new var result = await _server.HttpClient.PostAsync("api/taxes/Vilnius", new ObjectContent(typeof(TaxPost), tax, new JsonMediaTypeFormatter())); var responseContent = await result.Content.ReadAsAsync <Guid>(); Assert.True(result.IsSuccessStatusCode); var location = result.Headers.Location; var getResult = await _server.HttpClient.GetAsync(location); Assert.True(getResult.IsSuccessStatusCode); var savedTax = await getResult.Content.ReadAsAsync <TaxGet>(); Assert.Equal(savedTax.Id, responseContent); Assert.Equal(savedTax.DateFrom, tax.DateFrom); Assert.Equal(savedTax.DateTo, tax.DateTo.Value); Assert.Equal(savedTax.Rate, tax.Rate); } }
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); } } }
public async void POST_Tax_successfully_adds_to_municipality() { var urlHelperMock = new Mock <UrlHelper>(); urlHelperMock.Setup(m => m.Link(It.IsAny <string>(), It.IsAny <object>())) .Returns("http://testas.lt/"); using (var ctx = new TaxesDbContext()) { ctx.Municipalities.Add(new Municipality("Vilnius")); await ctx.SaveChangesAsync(); using (var controller = new TaxesController(ctx)) { var dateFrom = new DateTime(2017, 5, 5); var dateTo = new DateTime(2017, 5, 10); controller.Url = urlHelperMock.Object; var result = await controller.Post("Vilnius", new ViewModel.TaxPost { DateFrom = dateFrom, DateTo = dateTo, Rate = (decimal?)0.1 }); Assert.IsType <CreatedNegotiatedContentResult <Guid> >(result); var createdResult = result as CreatedNegotiatedContentResult <Guid>; var newTax = await ctx.Taxes.FirstAsync(t => t.Id == createdResult.Content); Assert.Equal(newTax.Municipality, "Vilnius"); Assert.Equal(newTax.Rate, (decimal?)0.1); Assert.Equal(newTax.DateTo, dateTo); Assert.Equal(newTax.DateFrom, dateFrom); } } }
public GetTaxHandlerTests() { var options = new DbContextOptionsBuilder <TaxesDbContext>() .UseInMemoryDatabase(Guid.NewGuid().ToString()) .Options; _dbContext = new TaxesDbContext(options); _handler = new GetTaxHandler(_dbContext); }
public async void GET_Municipality_not_found_returns_bad_request() { using (var ctx = new TaxesDbContext()) { using (var controller = new TaxesController(ctx)) { var result = await controller.Get("Vilnius", DateTime.Now); Assert.IsType <BadRequestErrorMessageResult>(result); var badRequestResult = result as BadRequestErrorMessageResult; Assert.Equal("Nerastas miestas/savivaldybė", badRequestResult.Message); } } }
public TestsGlobalFixture() { using (var ctx = new TaxesDbContext()) { try { Database.SetInitializer(new DropCreateDatabaseAlways <TaxesDbContext>()); ctx.Database.Initialize(true); } finally { Database.SetInitializer <TaxesDbContext>(null); } } }
public async void GET_Returns_no_content_if_there_are_no_taxes_in_municipality() { using (var ctx = new TaxesDbContext()) { var municipality = new Municipality("Vilnius"); ctx.Municipalities.Add(municipality); await ctx.SaveChangesAsync(); using (var controller = new TaxesController(ctx)) { var result = await controller.Get("Vilnius", DateTime.Now); Assert.IsType <StatusCodeResult>(result); var statusCodeResult = result as StatusCodeResult; Assert.Equal(statusCodeResult.StatusCode, HttpStatusCode.NoContent); } } }
public async void POST_Municipality_not_found_returns_bad_request() { using (var ctx = new TaxesDbContext()) { using (var controller = new TaxesController(ctx)) { var date = DateTime.Now; var result = await controller.Post("Vilnius", new ViewModel.TaxPost { DateFrom = date, DateTo = date, Rate = (decimal?)0.1 }); Assert.IsType <BadRequestErrorMessageResult>(result); var badRequestResult = result as BadRequestErrorMessageResult; Assert.Equal("Nerastas miestas/savivaldybė", badRequestResult.Message); } } }
public void Municipalities_CRD_Works() { using (var ctx = new TaxesDbContext()) { //Create ctx.Municipalities.Add(new Municipality("Panevėžys")); ctx.SaveChanges(); //Read var municipalities = ctx.Municipalities.ToArray(); Assert.Equal(1, municipalities.Length); //Delete ctx.Municipalities.Remove(municipalities.First()); ctx.SaveChanges(); Assert.Empty(ctx.Municipalities.ToArray()); } }
public void Taxes_CRUD_Works() { using (var ctx = new TaxesDbContext()) { ctx.Municipalities.AddRange(new List <Municipality> { new Municipality("Vilnius"), new Municipality("Kaunas") }); ctx.SaveChanges(); Assert.Empty(ctx.Taxes.ToList()); //Create ctx.Taxes.AddRange(new List <Tax> { new Tax("Vilnius", DateTime.Now, DateTime.Now, (decimal)0.1), new Tax("Kaunas", DateTime.Now, DateTime.Now, (decimal)0.3) }); ctx.SaveChanges(); //Read var taxes = ctx.Taxes.ToArray(); Assert.Equal(2, taxes.Length); //Delete ctx.Taxes.Remove(taxes.First(t => t.Municipality == "Kaunas")); ctx.SaveChanges(); taxes = ctx.Taxes.ToArray(); Assert.Equal(1, taxes.Length); //Update var tax = taxes.First(); Assert.Equal((decimal)0.1, tax.Rate); tax.UpdateRate((decimal)0.5); ctx.SaveChanges(); Assert.Equal((decimal)0.5, ctx.Taxes.First(t => t.Municipality == "Vilnius") .Rate); } }
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()); } }
public TaxesController(TaxesDbContext ctx) { _ctx = ctx; }
public UpdateTaxHandler(TaxesDbContext dbContext) { _dbContext = dbContext ?? throw new ArgumentNullException(nameof(dbContext)); }
public ImportTaxHandler(TaxesDbContext dbcontext) { _dbContext = dbcontext; }
public MunicipalitiesController(TaxesDbContext ctx) { _ctx = ctx; }