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 async void GET_Date_From_greater_than_date_to_returns_bad_request() { using (var controller = new TaxesController(null)) { var dateFrom = DateTime.Now.AddDays(15); var dateTo = DateTime.Now; var result = await controller.Post("Vilnius", new ViewModel.TaxPost { DateFrom = dateFrom, DateTo = dateTo, Rate = (decimal?)0.1 }); Assert.IsType <BadRequestErrorMessageResult>(result); var badRequestResult = result as BadRequestErrorMessageResult; Assert.Equal("Data nuo turi būti didesnė už datą iki", badRequestResult.Message); } }
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); } } }