Exemplo n.º 1
0
        public void DeletePurchaseOrderHeaderTest()
        {
            // Get a test user
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser, true);

            // Create a purchase
            var model = GetTestPurchaseOrderHeader(testCompany, testUser, 10);

            // Check that it was written
            var result = db.FindPurchaseOrderHeader(model.Id);
            var test   = PurchasingService.MapToModel(result);

            var excludes = new List <string>();

            excludes.Add("OrderNumberUrl");         // Because it isn't known yet
            AreEqual(model, test, excludes);

            // Now delete it
            PurchasingService.DeletePurchaseOrderHeader(model.Id);

            // And check that is was deleted
            result = db.FindPurchaseOrderHeader(model.Id);
            Assert.IsTrue(result == null, "Error: A non-NULL value was returned when a NULL value was expected - record delete failed");
        }
Exemplo n.º 2
0
        public void DeletePurchaseOrderDetailTempTest()
        {
            // Get a test user
            var testUser     = GetTestUser();
            var testCompany  = GetTestCompany(testUser, true);
            var testPurchase = GetTestPurchaseOrderHeader(testCompany, testUser, 1);

            var pohtModel = PurchasingService.CopyPurchaseOrderToTemp(testCompany, testPurchase, testUser);
            var model     = PurchasingService.FindPurchaseOrderDetailTempsListModel(testCompany.Id, pohtModel.Id, 0, 1, PageSize, "");

            // Create a record
            var newItem = createPurchaseOrderDetailTemp(model);

            var error = PurchasingService.InsertOrUpdatePurchaseOrderDetailTemp(newItem, testUser, "");

            Assert.IsTrue(!error.IsError, error.Message);

            // Check that it was written
            var result = db.FindPurchaseOrderDetailTemp(newItem.Id);
            var test   = PurchasingService.MapToModel(result);

            AreEqual(model, test);

            // Now delete it
            PurchasingService.DeletePurchaseOrderDetailTemp(newItem.Id);

            // And check that is was deleted
            result = db.FindPurchaseOrderDetailTemp(newItem.Id);
            Assert.IsTrue(result == null, "Error: A non-NULL value was returned when a NULL value was expected - record delete failed");
        }
        private PurchaseOrderDetailModel createPurchaseOrderDetail(PurchaseOrderDetailListModel model)
        {
            // Create a new item by duplicating a randomly selected item already in the list
            // This is an easy way, otherwise we have to go looking for suppliers, products, tax codes etc
            var pod = PurchasingService.MapToModel(model.Items[RandomInt(0, model.Items.Count() - 1)]);

            pod.Id         = 0;
            pod.LineNumber = 0;
            pod.OrderQty   = RandomInt();

            return(pod);
        }
        public void FindPurchaseOrderDetailListModelTest()
        {
            var testUser    = GetTestUser();
            var testCompany = GetTestCompany(testUser, true);

            var poh = GetTestPurchaseOrderHeader(testCompany, testUser, 1);

            var model  = PurchasingService.FindPurchaseOrderDetailListModel(poh);
            var dbData = db.FindPurchaseOrderDetails(testCompany.Id, poh.Id);

            int expected = dbData.Count(),
                actual   = model.Items.Count();

            Assert.IsTrue(actual == expected, $"Error: {actual} items were found when {expected} were expected");

            // Check that all the items match
            foreach (var item in model.Items)
            {
                var dbItem = dbData.Where(m => m.Id == item.Id).FirstOrDefault();
                Assert.IsTrue(dbItem != null, "Error: Model item not found in db item list");
                var temp = PurchasingService.MapToModel(dbItem);
                AreEqual(item, temp);
            }

            // Add another item a make sure it is found
            var newItem = createPurchaseOrderDetail(model);
            var error   = PurchasingService.InsertOrUpdatePurchaseOrderDetail(newItem, testUser, "");

            Assert.IsTrue(!error.IsError, $"Error: {error.Message}");

            model = PurchasingService.FindPurchaseOrderDetailListModel(poh);
            var testItem = model.Items.Where(i => i.Id == newItem.Id).FirstOrDefault();

            Assert.IsTrue(testItem != null, "Error: A NULL value was returned when a non-NULL value was expected");

            // Delete it and make sure it disappears
            // Detail items are removed from the temp table, not main table, hence there is
            // no service API to delete them from main
            db.DeletePurchaseOrderDetail(newItem.Id);

            model    = PurchasingService.FindPurchaseOrderDetailListModel(poh);
            testItem = model.Items.Where(i => i.Id == newItem.Id).FirstOrDefault();
            Assert.IsTrue(testItem == null, "Error: A non-NULL value was returned when a NULL value was expected");
        }