Exemple #1
0
        public async Task Cannot_add_Invoice_when_it_already_exists()
        {
            const string INVOICE_ID          = "INV001";
            const double NET_AMOUNT          = 2000.00;
            const string DESCRIPTION         = "Order 1 invoice";
            const int    GOODS_RECEIPT       = 1;
            const string SUPPLIER            = "SP1";
            const string ACCOUNTING_STAFF_ID = "EMP21";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                InvoicesController invoicesController = new InvoicesController(context);

                var invoice = new InvoiceDTO {
                    InvoiceId = INVOICE_ID, NetAmount = NET_AMOUNT, Description = DESCRIPTION, GoodsReceipt = GOODS_RECEIPT, Supplier = SUPPLIER, AccountingStaffId = ACCOUNTING_STAFF_ID
                };

                try
                {
                    await invoicesController.PostInvoice(invoice);
                }
                catch (Exception exception)
                {
                    Assert.NotNull(exception);
                    return;
                }

                Assert.True(false);
            }
        }
Exemple #2
0
        public async Task Cannot_add_ManagementStaff_when_it_already_exists()
        {
            const string MANAGEMENT_STAFF_ID = "EMP11";
            const string FIRST_NAME          = "First Name";
            const string LAST_NAME           = "Last Name";
            const string MOBILE = "0718958874";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                ManagementStaffsController managementStaffsController = new ManagementStaffsController(context);

                ManagementStaff managementStaff = new ManagementStaff {
                    StaffId = MANAGEMENT_STAFF_ID, FirstName = FIRST_NAME, LastName = LAST_NAME, MobileNo = MOBILE
                };

                try
                {
                    await managementStaffsController.PostManagementStaff(managementStaff);
                }
                catch (Exception exception)
                {
                    Assert.NotNull(exception);
                    return;
                }

                Assert.True(false);
            }
        }
        public async Task Cannot_add_SiteManager_when_it_already_exists()
        {
            const string SITE_MANAGER_ID = "EMP1";
            const string FIRST_NAME      = "First Name";
            const string LAST_NAME       = "Last Name";
            const string MOBILE          = "0718958874";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                SiteManagersController siteManagersController = new SiteManagersController(context);

                SiteManager siteManager = new SiteManager {
                    StaffId = SITE_MANAGER_ID, FirstName = FIRST_NAME, LastName = LAST_NAME, MobileNo = MOBILE
                };;

                try
                {
                    await siteManagersController.PostSiteManager(siteManager);
                }
                catch (Exception exception)
                {
                    Assert.NotNull(exception);
                    return;
                }

                Assert.True(false);
            }
        }
Exemple #4
0
        public async Task Can_add_new_Invoice_when_it_not_existing()
        {
            const string INVOICE_ID          = "INV002";
            const double NET_AMOUNT          = 2000.00;
            const string DESCRIPTION         = "Order 1 invoice";
            const int    GOODS_RECEIPT       = 1;
            const string SUPPLIER            = "SP1";
            const string ACCOUNTING_STAFF_ID = "EMP21";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                InvoicesController invoicesController = new InvoicesController(context);

                var invoice = new InvoiceDTO {
                    InvoiceId = INVOICE_ID, NetAmount = NET_AMOUNT, Description = DESCRIPTION, GoodsReceipt = GOODS_RECEIPT, Supplier = SUPPLIER, AccountingStaffId = ACCOUNTING_STAFF_ID
                };

                var result = await invoicesController.PostInvoice(invoice);

                var viewResult    = Assert.IsType <ActionResult <Invoice> >(result);
                var actionResult  = Assert.IsType <CreatedAtActionResult>(viewResult.Result);
                var invoiceResult = Assert.IsType <Invoice>(actionResult.Value);
                Assert.Equal(INVOICE_ID, invoiceResult.InvoiceId);
            }
        }
        public async Task Cannot_add_Delivery_when_it_already_exists()
        {
            const string DELIVERY_ID     = "DL001";
            const string SITE_CODE       = "SITE001";
            const int    ORDER_REFERENCE = 1;
            const string STATUS          = "ON PROCESS";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                DeliveriesController deliveriesController = new DeliveriesController(context);

                DeliveryDTO deliveryDto = new DeliveryDTO {
                    DeliveryId = DELIVERY_ID, SiteCode = SITE_CODE, PurchaseOrder = ORDER_REFERENCE, DeliveryStatus = STATUS
                };

                try
                {
                    await deliveriesController.PostDelivery(deliveryDto);
                }
                catch (Exception exception)
                {
                    Assert.NotNull(exception);
                    return;
                }

                Assert.True(false);
            }
        }
        public async Task Cannot_add_AccountingStaff_when_it_already_exists()
        {
            const string ACCOUNTING_STAFF_ID = "EMP21";
            const string FIRST_NAME          = "First Name";
            const string LAST_NAME           = "Last Name";
            const string MOBILE = "0718958874";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                AccountingStaffsController accountingStaffsController = new AccountingStaffsController(context);

                AccountingStaff accountingStaff = new AccountingStaff {
                    StaffId = ACCOUNTING_STAFF_ID, FirstName = FIRST_NAME, LastName = LAST_NAME, MobileNo = MOBILE
                };

                try
                {
                    await accountingStaffsController.PostAccountingStaff(accountingStaff);
                }
                catch (Exception exception)
                {
                    Assert.NotNull(exception);
                    return;
                }

                Assert.True(false);
            }
        }
        public async Task Can_add_Requisition()
        {
            const int    REQUISITION      = 3;
            const string SITE_MANAGER_ID  = "EMP1";
            const string SUPPLIER_CODE    = "SP1";
            const string SITE_CODE        = "SITE001";
            const string SHIPPING_ADDRESS = "MALABE";
            const double TOTAL_COST       = 2000.00;
            const string STATUS           = "PENDING";
            const string COMMENTS         = "Immediate Request";

            string[] ITEMS = { "IT001", "IT001", "IT002", "IT002", "IT002", "IT003" };

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseRequisitionsController requisitionsController = new PurchaseRequisitionsController(context);

                var requisition = new PurchaseRequisitionDTO {
                    SiteManagerId = SITE_MANAGER_ID, SupplierCode = SUPPLIER_CODE, SiteCode = SITE_CODE, ShippingAddress = SHIPPING_ADDRESS, TotalCost = TOTAL_COST, Status = STATUS, Comments = COMMENTS, ItemIds = ITEMS
                };

                var result = await requisitionsController.PostPurchaseRequisition(requisition);

                var viewResult   = Assert.IsType <ActionResult <PurchaseRequisition> >(result);
                var actionResult = Assert.IsType <CreatedAtActionResult>(viewResult.Result);
                var model        = Assert.IsType <PurchaseRequisition>(actionResult.Value);
                Assert.Equal(REQUISITION, model.RequisitionNo);
            }
        }
        public async Task Can_add_Order()
        {
            const int    ORDER            = 3;
            const string SITE_MANAGER_ID  = "EMP1";
            const string SUPPLIER_CODE    = "SP1";
            const string SITE_CODE        = "SITE001";
            const string SHIPPING_ADDRESS = "MALABE";
            const double TOTAL_COST       = 2000.00;
            const string STATUS           = "PENDING";

            string[] ITEMS = { "IT001", "IT001", "IT002", "IT002", "IT002", "IT003" };

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var order = new PurchaseOrderDTO {
                    SiteManagerId = SITE_MANAGER_ID, SupplierCode = SUPPLIER_CODE, SiteCode = SITE_CODE, ShippingAddress = SHIPPING_ADDRESS, TotalCost = TOTAL_COST, OrderStatus = STATUS, ItemIds = ITEMS
                };

                var result = await ordersController.PostPurchaseOrder(order);

                var viewResult   = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var actionResult = Assert.IsType <CreatedAtActionResult>(viewResult.Result);
                var model        = Assert.IsType <PurchaseOrder>(actionResult.Value);
                Assert.Equal(ORDER, model.OrderReference);
            }
        }
        public async Task Can_get_all_Items_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                ItemsController itemsController = new ItemsController(context);

                var result = await itemsController.GetItems();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <Item> > >(result);
                var items      = Assert.IsType <List <Item> >(viewResult.Value);
                Assert.Equal(3, items.Count);
            }
        }
Exemple #10
0
        public async Task Can_get_all_GoodsReceipts_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                GoodsReceiptsController receiptsController = new GoodsReceiptsController(context);

                var result = await receiptsController.GetGoodsReceipt();

                var viewResult    = Assert.IsType <ActionResult <IEnumerable <GoodsReceipt> > >(result);
                var goodsReceipts = Assert.IsType <List <GoodsReceipt> >(viewResult.Value);
                Assert.Single(goodsReceipts);
            }
        }
        public async Task Can_get_all_Suppliers_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                SuppliersController suppliersController = new SuppliersController(context);

                var result = await suppliersController.GetSuppliers();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <Supplier> > >(result);
                var suppliers  = Assert.IsType <List <Supplier> >(viewResult.Value);
                Assert.Equal(3, suppliers.Count);
            }
        }
Exemple #12
0
        public async Task Can_get_all_Sites_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                SitesController sitesController = new SitesController(context);

                var result = await sitesController.GetSites();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <Site> > >(result);
                var sites      = Assert.IsType <List <Site> >(viewResult.Value);
                Assert.Single(sites);
            }
        }
        public async Task Can_get_all_Enquiries_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                EnquiriesController enquiriesController = new EnquiriesController(context);

                var result = await enquiriesController.GetEnquiries();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <Enquiry> > >(result);
                var enquiries  = Assert.IsType <List <Enquiry> >(viewResult.Value);
                Assert.Equal(3, enquiries.Count);
            }
        }
        public async Task Can_get_all_Orders_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrders();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <PurchaseOrder> > >(result);
                var orders     = Assert.IsType <List <PurchaseOrder> >(viewResult.Value);
                Assert.Single(orders);
            }
        }
        public async Task Can_get_all_Delivery_details_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                DeliveriesController deliveriesController = new DeliveriesController(context);

                var result = await deliveriesController.GetDeliveries();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <Delivery> > >(result);
                var delivery   = Assert.IsType <List <Delivery> >(viewResult.Value);

                Assert.Single(delivery);
            }
        }
        public async Task Can_get_all_SiteManager_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                SiteManagersController siteManagersController = new SiteManagersController(context);

                var result = await siteManagersController.GetSiteManagers();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <SiteManager> > >(result);
                var model      = Assert.IsType <List <SiteManager> >(viewResult.Value);

                Assert.Equal(3, model.Count);
            }
        }
Exemple #17
0
        public async Task Can_get_all_ManagementStaff_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                ManagementStaffsController managementStaffsController = new ManagementStaffsController(context);

                var result = await managementStaffsController.GetManagementStaff();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <ManagementStaff> > >(result);
                var model      = Assert.IsType <List <ManagementStaff> >(viewResult.Value);

                Assert.Equal(3, model.Count);
            }
        }
Exemple #18
0
        public async Task Can_get_all_Invoices_in_database()
        {
            using (var context = new ProcurementDbContext(ContextOptions))
            {
                InvoicesController invoicesController = new InvoicesController(context);

                var result = await invoicesController.GetInvoice();

                var viewResult = Assert.IsType <ActionResult <IEnumerable <Invoice> > >(result);
                var invoices   = Assert.IsType <List <Invoice> >(viewResult.Value);

                Assert.Single(invoices);
            }
        }
        public async Task Can_delete_Order_by_OderReference()
        {
            const int ORDER = 1;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.DeletePurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var model      = Assert.IsType <PurchaseOrder>(viewResult.Value);

                Assert.Equal(ORDER, model.OrderReference);
            }
        }
        public async Task Should_not_return_Delivery_when_unavailable()
        {
            const string DELIVERY_ID = "DL0001";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                DeliveriesController deliveriesController = new DeliveriesController(context);

                var result = await deliveriesController.GetDelivery(DELIVERY_ID);

                var viewResult = Assert.IsType <ActionResult <Delivery> >(result);
                Assert.IsNotType <Delivery>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }
        public async Task Can_get_Delivery_By_Id()
        {
            const string DELIVERY_ID = "DL001";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                DeliveriesController deliveriesController = new DeliveriesController(context);

                var result = await deliveriesController.GetDelivery(DELIVERY_ID);

                var viewResult = Assert.IsType <ActionResult <Delivery> >(result);
                var delivery   = Assert.IsType <Delivery>(viewResult.Value);

                Assert.Equal(DELIVERY_ID, delivery.DeliveryId);
            }
        }
Exemple #22
0
        public async Task Cannot_delete_Invoice_when_it_not_existing()
        {
            const string INVOICE_ID = "INV0001";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                InvoicesController invoicesController = new InvoicesController(context);

                var result = await invoicesController.DeleteInvoice(INVOICE_ID);

                var viewResult = Assert.IsType <ActionResult <Invoice> >(result);
                Assert.IsNotType <Invoice>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }
        public async Task Should_not_return_Order_when_Order_not_existing()
        {
            const int ORDER = 11;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                Assert.IsNotType <PurchaseOrder>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }
        public async Task Can_get_Enquiry_details_by_EnquiryId()
        {
            const int ENQUIRY_ID = 1;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                EnquiriesController enquiriesController = new EnquiriesController(context);

                var result = await enquiriesController.GetEnquiry(ENQUIRY_ID);

                var viewResult = Assert.IsType <ActionResult <Enquiry> >(result);
                var enquiry    = Assert.IsType <Enquiry>(viewResult.Value);
                Assert.NotNull(enquiry);
                Assert.Equal(ENQUIRY_ID, enquiry.EnquiryId);
            }
        }
Exemple #25
0
        public async Task Can_get_Invoice_By_Id()
        {
            const string INVOICE_ID = "INV001";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                InvoicesController invoicesController = new InvoicesController(context);

                var result = await invoicesController.GetInvoice(INVOICE_ID);

                var viewResult = Assert.IsType <ActionResult <Invoice> >(result);
                var invoice    = Assert.IsType <Invoice>(viewResult.Value);

                Assert.Equal(INVOICE_ID, invoice.InvoiceId);
            }
        }
        public async Task Should_not_return_Enquiry_when_Enquiry_not_existing()
        {
            const int ENQUIRY_ID = 11;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                EnquiriesController enquiriesController = new EnquiriesController(context);

                var result = await enquiriesController.GetEnquiry(ENQUIRY_ID);

                var viewResult = Assert.IsType <ActionResult <Enquiry> >(result);
                Assert.IsNotType <Enquiry>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }
        public async Task Can_get_Order_details_by_OrderNo()
        {
            const int ORDER = 1;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseOrdersController ordersController = new PurchaseOrdersController(context);

                var result = await ordersController.GetPurchaseOrder(ORDER);

                var viewResult = Assert.IsType <ActionResult <PurchaseOrder> >(result);
                var order      = Assert.IsType <PurchaseOrder>(viewResult.Value);
                Assert.NotNull(order);
                Assert.Equal(ORDER, order.OrderReference);
            }
        }
        public async Task Can_delete_Enquiry_by_EnquiryId()
        {
            const int ENQUIRY_ID = 1;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                EnquiriesController enquiriesController = new EnquiriesController(context);

                var result = await enquiriesController.DeleteEnquiry(ENQUIRY_ID);

                var viewResult = Assert.IsType <ActionResult <Enquiry> >(result);
                var model      = Assert.IsType <Enquiry>(viewResult.Value);

                Assert.Equal(ENQUIRY_ID, model.EnquiryId);
            }
        }
Exemple #29
0
        public async Task Should_not_return_Invoice_when_unavailable()
        {
            const string INVOICE_ID = "INV0001";

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                InvoicesController invoicesController = new InvoicesController(context);

                var result = await invoicesController.GetInvoice(INVOICE_ID);

                var viewResult = Assert.IsType <ActionResult <Invoice> >(result);
                Assert.IsNotType <Invoice>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }
        public async Task Should_not_return_Requisition_when_Requisition_not_existing()
        {
            const int REQUISITION = 11;

            using (var context = new ProcurementDbContext(ContextOptions))
            {
                PurchaseRequisitionsController requisitionsController = new PurchaseRequisitionsController(context);

                var result = await requisitionsController.GetPurchaseRequisition(REQUISITION);

                var viewResult = Assert.IsType <ActionResult <PurchaseRequisition> >(result);
                Assert.IsNotType <PurchaseRequisition>(viewResult.Value);
                var response = Assert.IsType <NotFoundResult>(viewResult.Result);
                Assert.Equal(404, response.StatusCode);
            }
        }