public void UpdateExisting()
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            MMetric existing = new MMetric();

            existing.Key   = "PageViews";
            existing.Value = 5;
            ctx.SetReturnObjectByKey <MMetric>(existing);

            var opt = (IBusinessOperationManipulate <MMetric>)FactoryBusinessOperation.CreateBusinessOperationObject("IncreaseAndRetrieveMetric");

            MMetric dat = new MMetric();

            dat.Key   = "PageViews";
            dat.Value = 5;

            try
            {
                int result = opt.Apply(dat);
                Assert.AreEqual(10, result);
            }
            catch (Exception)
            {
                Assert.Fail("Exception should not be thrown here!!!");
            }
        }
예제 #2
0
        public void DeleteProductAnyCaseTest()
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            var opt = (IBusinessOperationManipulate <MProduct>)FactoryBusinessOperation.CreateBusinessOperationObject("DeleteProduct");

            MProduct pd = new MProduct();

            pd.Code = "MockedCode";
            pd.Key  = "FAKED_NOTFOUNDKEY";

            var result = opt.Apply(pd);

            Assert.AreEqual(1, result, "Row affected should be returned !!!");
        }
        public void CreateRegistrationWithCodeNotFoundTest(bool barcodeFound, bool isActivated, string keyword)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            if (barcodeFound)
            {
                MBarcode bc = new MBarcode();
                bc.IsActivated = isActivated;
                ctx.SetReturnObjectByKey(bc);
            }

            var opt = (IBusinessOperationManipulate <MRegistration>)FactoryBusinessOperation.CreateBusinessOperationObject("CreateRegistration");

            MRegistration rg = new MRegistration();

            rg.Pin          = "9999999999";
            rg.SerialNumber = "ABCDEFGHIJKLM";
            rg.IP           = "192.168.0.1";

            bool shouldThrow = !barcodeFound || isActivated;

            if (shouldThrow)
            {
                try
                {
                    opt.Apply(rg);
                    Assert.Fail("Exception should be thrown here!!!");
                }
                catch (Exception ex)
                {
                    string msg          = ex.Message;
                    bool   foundKeyword = msg.Contains(keyword);
                    Assert.AreEqual(true, foundKeyword, "Should get [{0}] error!!!", keyword);
                }
            }
            else
            {
                //Found barcode and not yet activated
                opt.Apply(rg);

                //Status wrote back to input parameter
                Assert.AreEqual("SUCCESS", rg.Status);
            }
        }
        public void Apply()
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationQuery <MMetricWrapper>)FactoryBusinessOperation.CreateBusinessOperationObject("RetrieveMetric");

            try
            {
                opt.Apply(null, null);
            }
            catch (Exception)
            {
                Assert.Fail("Exception should not be thrown here!!!");
            }
        }
        public void GetProductTypeNotFoundTest()
        {
            MProductType       prdReturned = null;
            MockedNoSqlContext ctx         = new MockedNoSqlContext();

            ctx.SetReturnObjectByKey(prdReturned);

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            var opt = (IBusinessOperationGetInfo <MProductType>)FactoryBusinessOperation.CreateBusinessOperationObject("GetProductTypeInfo");

            MProductType pd = new MProductType();

            pd.Code = "MockedCode";

            var result = opt.Apply(pd);

            Assert.AreEqual(null, result, "Product type not found should return null!!!");
        }
예제 #6
0
        public void SaveProductTypeByAddingTheNewOneTest()
        {
            MProductType prdReturned = null;

            MockedNoSqlContext ctx = new MockedNoSqlContext();

            ctx.SetReturnObjectByKey(prdReturned);

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationGetInfo <MProductType>)FactoryBusinessOperation.CreateBusinessOperationObject("SaveProductType");

            MProductType pd = new MProductType();

            pd.Code = "MockedCode";

            var result = opt.Apply(pd);

            Assert.AreEqual(null, result, "Expected null to return !!!");
        }
        public void GetProductTypeFoundTest(string code)
        {
            MProductType prdReturned = new MProductType();

            prdReturned.Code = code;

            MockedNoSqlContext ctx = new MockedNoSqlContext();

            ctx.SetReturnObjectByKey(prdReturned);

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            var opt = (IBusinessOperationGetInfo <MProductType>)FactoryBusinessOperation.CreateBusinessOperationObject("GetProductTypeInfo");

            MProductType pd = new MProductType();

            pd.Code = "MockedCode";

            var result = opt.Apply(pd);

            Assert.AreEqual(code, result.Code, "Return product type code should be [{0}]!!!", code);
        }
        public void GenericGetProductListTest(string code)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationQuery <MProduct>)FactoryBusinessOperation.CreateBusinessOperationObject("GetProductList");

            MProduct pd = new MProduct();

            pd.Code = code;

            try
            {
                opt.Apply(pd, null);
            }
            catch (Exception)
            {
                Assert.Fail("Exception should not be thrown here!!!");
            }
        }
예제 #9
0
        public void ResetBarcodeTest(string appName, bool IsActivated)
        {
            ResetBarcodeApplication app = (ResetBarcodeApplication)FactoryConsoleApplication.CreateConsoleApplicationObject(appName);
            OptionSet opt = app.CreateOptionSet();

            opt.Parse(args);

            MockedNoSqlContext ctx = new MockedNoSqlContext();

            MBarcode barcode = new MBarcode();

            barcode.IsActivated = IsActivated;
            ctx.SetReturnObjectByKey(barcode);
            app.SetNoSqlContext(ctx);

            //To cover test coverage
            app.GetLogger();

            app.Run();
            Assert.True(true);
        }
        public void GetProductTypeWithEmptyTest(string code)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationGetInfo <MProductType>)FactoryBusinessOperation.CreateBusinessOperationObject("GetProductTypeInfo");

            MProductType pd = new MProductType();

            pd.Code = code;

            try
            {
                opt.Apply(pd);
                Assert.Fail("Exception should be thrown");
            }
            catch (Exception)
            {
                //Do nothing
            }
        }
예제 #11
0
        public void DeleteProductWithEmptyTest(string code)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationManipulate <MProduct>)FactoryBusinessOperation.CreateBusinessOperationObject("DeleteProduct");

            MProduct pd = new MProduct();

            pd.Code = code;

            try
            {
                opt.Apply(pd);
                Assert.Fail("Exception should be thrown");
            }
            catch (Exception)
            {
                //Do nothing
            }
        }
        public void CreateRegistrationWithEmptyTest(string serial, string pin)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationManipulate <MRegistration>)FactoryBusinessOperation.CreateBusinessOperationObject("ResetRegistration");

            MRegistration rg = new MRegistration();

            rg.Pin          = pin;
            rg.SerialNumber = serial;

            try
            {
                opt.Apply(rg);
                Assert.Fail("Exception should be thrown");
            }
            catch (Exception e)
            {
                Assert.AreEqual("SerialNumber, PIN must not be null!!!", e.Message);
            }
        }
예제 #13
0
        public void SaveProductByAddingTheNewOneTest()
        {
            MProduct prdReturned = null;

            IStorageContext    storageCtx = new Mock <IStorageContext>().Object;
            MockedNoSqlContext ctx        = new MockedNoSqlContext();

            ctx.SetReturnObjectByKey(prdReturned);

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            FactoryBusinessOperation.SetStorageContext(storageCtx);

            var opt = (IBusinessOperationGetInfo <MProduct>)FactoryBusinessOperation.CreateBusinessOperationObject("SaveProduct");

            MProduct pd = new MProduct();

            pd.Code = "MockedCode";
            pd.Key  = "FAKED_NOTFOUNDKEY";

            var result = opt.Apply(pd);

            Assert.AreEqual(null, result, "Expected null to return !!!");
        }
        public void ResetRegistrationWithCodeNotEmptyTest(string serial, string pin)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationManipulate <MRegistration>)FactoryBusinessOperation.CreateBusinessOperationObject("ResetRegistration");

            MRegistration rg = new MRegistration();

            rg.Pin          = pin;
            rg.SerialNumber = serial;

            try
            {
                opt.Apply(rg);
                Assert.Fail("Exception should be thrown because of barcode not found!!!");
            }
            catch (Exception)
            {
                //Do nothing
            }
        }
        public void CreateRegistrationWithEmptyTest(string ip, string serial, string pin, string path)
        {
            MockedNoSqlContext ctx = new MockedNoSqlContext();

            FactoryBusinessOperation.SetNoSqlContext(ctx);

            var opt = (IBusinessOperationManipulate <MRegistration>)FactoryBusinessOperation.CreateBusinessOperationObject("CreateRegistration");

            MRegistration rg = new MRegistration();

            rg.Pin          = pin;
            rg.SerialNumber = serial;
            rg.IP           = ip;

            try
            {
                opt.Apply(rg);
                Assert.Fail("Exception should be thrown");
            }
            catch (Exception)
            {
                //Do nothing
            }
        }
예제 #16
0
        public void SaveProductByUpdatingTheExistingOneTest(string code)
        {
            MProduct prdReturned = new MProduct();

            prdReturned.Code = code;

            IStorageContext    storageCtx = new Mock <IStorageContext>().Object;
            MockedNoSqlContext ctx        = new MockedNoSqlContext();

            ctx.SetReturnObjectByKey(prdReturned);

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            FactoryBusinessOperation.SetStorageContext(storageCtx);
            var opt = (IBusinessOperationGetInfo <MProduct>)FactoryBusinessOperation.CreateBusinessOperationObject("SaveProduct");

            MProduct pd = new MProduct();

            pd.Code = "MockedCode";
            pd.Key  = "FAKED_NOTFOUNDKEY";

            var result = opt.Apply(pd);

            Assert.AreEqual(code, result.Code, "Return product code should be [{0}]!!!", code);
        }
예제 #17
0
        public void SaveProductWithEmptyTest(string code)
        {
            MockedNoSqlContext ctx        = new MockedNoSqlContext();
            IStorageContext    storageCtx = new Mock <IStorageContext>().Object;

            FactoryBusinessOperation.SetNoSqlContext(ctx);
            FactoryBusinessOperation.SetStorageContext(storageCtx);

            var opt = (IBusinessOperationGetInfo <MProduct>)FactoryBusinessOperation.CreateBusinessOperationObject("SaveProduct");

            MProduct pd = new MProduct();

            pd.Code = code;

            try
            {
                opt.Apply(pd);
                Assert.Fail("Exception should be thrown");
            }
            catch (Exception)
            {
                //Do nothing
            }
        }