Пример #1
0
        public IHttpActionResult CreateMagnet([FromBody] Magnets magnet)
        {
            try
            {
                if (magnet == null)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet object sent from client is null.");
                    return(BadRequest("Magnet object is null"));
                }

                if (!ModelState.IsValid)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Invalid Magnet object sent from client.");
                    return(BadRequest($"Invalid model {magnet}"));
                }

                Magnets newMagnet = _repository.Magnets.CreateMagnet(magnet);
                _repository.Save();

                return(CreatedAtRoute("MagnetById", new { id = magnet.ProdId }, magnet));
            }
            catch (Exception ex)
            {
                _logger.LogError($"{MethodBase.GetCurrentMethod().Name} server error: {ex.Message}");
                return(InternalServerError(ex));
            }
        }
Пример #2
0
        public void UpdateMagnet_OnlyCategoryChanges()
        {
            var classify = new Mock <IClassify1>();

            var cat    = TestCommon.RandomInt();
            var rule   = TestCommon.RandomInt();
            var name   = TestCommon.RandomString(10);
            var magnet = new Magnet
            {
                Id       = 0,
                Name     = name,
                Rule     = rule,
                Category = cat
            };

            var magnets = new Magnets(classify.Object);

            // new category
            var cat1 = TestCommon.RandomInt();

            while (cat == cat1)
            {
                cat1 = TestCommon.RandomInt();
            }

            classify.Setup(c => c.UpdateMagnet(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(true);
            Assert.True(magnets.UpdateMagnet(magnet, name, rule, cat1));

            // it was never updated...
            classify.Verify(m => m.UpdateMagnet(magnet.Id, name, rule, cat1), Times.Once);
        }
Пример #3
0
 public void test1()
 {
     Console.WriteLine("Fixed Tests: Doubles");
     assertFuzzyEquals(Magnets.Doubles(1, 10), 0.5580321939764581);     // 0.5580321939764581
     assertFuzzyEquals(Magnets.Doubles(10, 1000), 0.6921486500921933);  // 0.6921486500921933
     assertFuzzyEquals(Magnets.Doubles(10, 10000), 0.6930471674194457); // 0.6930471674194457
     assertFuzzyEquals(Magnets.Doubles(20, 10000), 0.6930471955575918); // 0.6930471955575918
 }
Пример #4
0
        public void UpdateMagnet_ReturnTheSameValueFomrTheEngine(bool value)
        {
            var classify = new Mock <IClassify1>();

            classify.Setup(c => c.UpdateMagnet(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(value);

            var magnets = new Magnets(classify.Object);

            Assert.That(value == magnets.UpdateMagnet(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>()));
        }
 public MagnetsExtended(Magnets magnet)
 {
     ProdId      = magnet.ProdId;
     ProdPicture = magnet.ProdPicture;
     ProdPrice   = magnet.ProdPrice;
     ProdQty     = magnet.ProdQty;
     Catagory    = magnet.Catagory;
     ProdName    = magnet.ProdName;
     Capital     = magnet.Capital;
     Statehood   = magnet.Statehood;
 }
 public static void Map(Magnets dbMagnet, Magnets magnet)
 {
     dbMagnet.ProdId      = magnet.ProdId;
     dbMagnet.ProdPicture = magnet.ProdPicture;
     dbMagnet.ProdPrice   = magnet.ProdPrice;
     dbMagnet.ProdQty     = magnet.ProdQty;
     dbMagnet.Catagory    = magnet.Catagory;
     dbMagnet.ProdName    = magnet.ProdName;
     dbMagnet.Capital     = magnet.Capital;
     dbMagnet.Statehood   = magnet.Statehood;
 }
Пример #7
0
        public void UpdateMagnet_NullMagnetReturnsFalse()
        {
            var classify = new Mock <IClassify1>();

            var magnets = new Magnets(classify.Object);

            var cat  = TestCommon.RandomInt();
            var rule = TestCommon.RandomInt();
            var name = TestCommon.RandomString(10);

            Assert.False(magnets.UpdateMagnet(null, name, rule, cat));

            // it was never updated...
            classify.Verify(m => m.UpdateMagnet(It.IsAny <int>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>()), Times.Never);
        }
Пример #8
0
        public IHttpActionResult DeleteMagnet(string id, [FromBody] Magnets magnet)
        {
            try
            {
                if (magnet == null)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet sent from client is null.");
                    return(BadRequest("Magnet is null"));
                }

                if (id != magnet.ProdId)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet sent from client doesn't match id.");
                    return(BadRequest($"Magnet id: {id} doesn't match magnet: {magnet}"));
                }

                if (!ModelState.IsValid)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet model is invalid {magnet}");
                    return(BadRequest($"Invalid model {magnet}"));
                }

                Magnets dbMagnet = _repository.Magnets.GetMagnetById(id);
                if (dbMagnet == null)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet with id:{magnet.ProdId} couldn't be found");
                    return(NotFound());
                }

                _repository.Magnets.DeleteMagnet(magnet);
                _repository.Save();
                return(Ok($"Removed {dbMagnet} from inventory"));
            }
            catch (Exception ex)
            {
                return(InternalServerError(ex));
            }
        }
Пример #9
0
        public void UpdateMagnet_IfNothingChangeThenItShouldNotBeCalled()
        {
            var classify = new Mock <IClassify1>();

            var cat    = TestCommon.RandomInt();
            var rule   = TestCommon.RandomInt();
            var name   = TestCommon.RandomString(10);
            var magnet = new Magnet
            {
                Id       = 0,
                Name     = name,
                Rule     = rule,
                Category = cat
            };

            var magnets = new Magnets(classify.Object);

            // nothing changed, but still.
            Assert.True(magnets.UpdateMagnet(magnet, name, rule, cat));

            // it was never updated...
            classify.Verify(m => m.UpdateMagnet(magnet.Id, name, rule, cat), Times.Never);
        }
Пример #10
0
        public IHttpActionResult UpdateMagnet(string id, [FromBody] Magnets magnet)
        {
            var test = magnet.IsMagnet();

            try
            {
                if (magnet == null)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet sent from client is null.");
                    return(BadRequest("Magnet is null"));
                }

                if (!ModelState.IsValid)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet model is invalid {magnet}");
                    return(BadRequest($"Invalid model {magnet}"));
                }

                Magnets dbMagnet = _repository.Magnets.GetMagnetById(id);
                if (dbMagnet == null)
                {
                    _logger.LogError($"{MethodBase.GetCurrentMethod().Name} Magnet with id:{id} couldn't be found");
                    return(NotFound());
                }

                _repository.Magnets.UpdateMagnet(dbMagnet, magnet);
                _repository.Save();

                // To return non-convenience codes use HttpStatusCode
                return(StatusCode(HttpStatusCode.NoContent));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Something went wrong inside {MethodBase.GetCurrentMethod().Name} action: {ex.Message}");
                return(InternalServerError(ex));
            }
        }