public async Task GetFarmProduct_should_load_a_previously_saved_entity() { using (var store = NewDocumentStore()) { using (var session = store.OpenAsyncSession()) { // Arrange var farmProduct = new FarmProduct("NPK", CoverageType.LitresPerHectare); await session.StoreAsync(farmProduct); await session.SaveChangesAsync(); } // Act using (var session = store.OpenAsyncSession()) { var service = GetFarmProductService(session); var actual = await service.GetAsync("FarmProducts-1"); // Assert actual.Name.Should().Be("NPK"); actual.CoverageType.Should().Be(CoverageType.LitresPerHectare); } } }
public FarmProduct GetFarmProduct(int id) { FarmSaleDBEntities1 db = new FarmSaleDBEntities1(); FarmProduct farmProduct = db.FarmProducts.Where(fp => fp.farmProductID == id).FirstOrDefault(); return(farmProduct); }
public async Task SaveAsync_should_only_save_the_entity_once() { using (var store = NewDocumentStore()) { using (var session = store.OpenAsyncSession()) { // Arrange const string FARM_PRODUCTS_ID_1 = "FarmProducts-1"; var farmProduct = new FarmProduct("NPK", CoverageType.GramsPerPlant); var service = GetFarmProductService(session); // Act farmProduct.Id.Should().BeNullOrEmpty(); var model1 = await service.SaveAsync(farmProduct); model1.Entity.Id.Should().Be(FARM_PRODUCTS_ID_1); model1.Message.Should().StartWith("Created"); var model2 = await service.SaveAsync(farmProduct); model2.Entity.Id.Should().Be(FARM_PRODUCTS_ID_1); model2.Message.Should().StartWith("Updated"); var model3 = await service.SaveAsync(farmProduct); model3.Entity.Id.Should().Be(FARM_PRODUCTS_ID_1); model3.Message.Should().StartWith("Updated"); } } }
public void RemoveFarmProduct(int id) { FarmSaleDBEntities1 db = new FarmSaleDBEntities1(); FarmProduct farmProduct = db.FarmProducts.Where(fp => fp.farmProductID == id).FirstOrDefault(); db.FarmProducts.Remove(farmProduct); db.SaveChanges(); }
public void GetCoverageText_should_return_empty_string_for_no_coverages() { // Arrange var sut = new FarmProduct("123", "Test", CoverageType.KgPerHectare); // Assert sut.Coverages.Should().HaveCount(0); }
private void Init() { var farmProduct = new FarmProduct("NPK", CoverageType.LitresPerHectare); farmProduct.AddCoverage(1, 15); farmProduct.AddCoverage(2, 10); farmProduct.AddCoverage(3, 10); _service.SaveAsync(farmProduct).Wait(); }
public void AddFarmProduct(int farmID, int productID) { FarmSaleDBEntities1 db = new FarmSaleDBEntities1(); FarmProduct farmProduct = new FarmProduct(); farmProduct.farmID = farmID; farmProduct.productID = productID; db.FarmProducts.Add(farmProduct); db.SaveChanges(); }
public void CoverageText_should_return_formatted_text_for_coverage_with_single_year() { // Arrange var sut = new FarmProduct("123", "Test", CoverageType.LitresPerHectare); sut.AddCoverage(1, 55); // Act var actual = sut.CoverageText; // Assert actual.Should().Be("Year 1 and onwards: 55 lt/ha"); }
public void AddCoverage_should_add_a_coverage_to_the_FarmProduct() { // Arrange var sut = new FarmProduct("123", "Test", CoverageType.KgPerHectare); const int year = 1; const double quantity = 100; // Act sut.AddCoverage(year, quantity); // Assert sut.Coverages.Should().HaveCount(1); sut.Coverages[0].Year.Should().Be(1); sut.Coverages[0].Quantity.Should().Be(100); }
public void CoverageText_should_return_formatted_text_for_coverages_with_multiple_years() { // Arrange var sut = new FarmProduct("123", "Test", CoverageType.KgPerHectare); sut.AddCoverage(1, 500); sut.AddCoverage(2, 750); sut.AddCoverage(3, 1000); // Act var actual = sut.CoverageText; // Assert actual.Should().Be("Year 1: 500 kg/ha, Year 2: 750 kg/ha, Year 3 and onwards: 1000 kg/ha"); }
public async Task SaveAsync_should_update_an_existing_entity() { const string FARM_PRODUCTS_ID_1 = "FarmProducts-1"; using (var store = NewDocumentStore()) { using (var session = store.OpenAsyncSession()) { // Arrange var farmProduct = new FarmProduct("NPK", CoverageType.GramsPerPlant); farmProduct.AddCoverage(1, 100); await session.StoreAsync(farmProduct); await session.SaveChangesAsync(); // Act var service = GetFarmProductService(session); var actual = await service.GetAsync(FARM_PRODUCTS_ID_1); actual.Name = "Updated"; var model = await service.SaveAsync(actual); model.Entity.Id.Should().Be(FARM_PRODUCTS_ID_1); } using (var session = store.OpenAsyncSession()) { // Assert var service = GetFarmProductService(session); var actual = await service.GetAsync(FARM_PRODUCTS_ID_1); actual.Name.Should().Be("Updated"); actual.Coverages.Should().HaveCount(1); } } }
public async Task SaveAsync_should_save_a_farm_product() { const string FARM_PRODUCTS_ID_1 = "FarmProducts-1"; using (var store = NewDocumentStore()) { using (var session = store.OpenAsyncSession()) { // Arrange var farmProduct = new FarmProduct(null, "NPK", CoverageType.GramsPerPlant); var sut = GetFarmProductService(session); // Act var model = await sut.SaveAsync(farmProduct); // Assert var actual = await session.LoadAsync <FarmProduct>(FARM_PRODUCTS_ID_1); actual.Name.Should().Be("NPK"); actual.CoverageType.Should().Be(CoverageType.GramsPerPlant); model.Message.Should().Be("Created Farm Product with Id:1"); } } }
public async Task <SaveResponse> SaveAsync(FarmProduct entity) { return(await base.SaveAsync(entity)); }
public async Task <IActionResult> Post([FromBody] FarmProduct farmProduct) { var data = await _service.SaveAsync(farmProduct); return(Ok(data)); }