예제 #1
0
        public void PostTest()
        {
            var container      = UnityConfig.Container;
            var bikeBll        = container.Resolve <IBikeBll>();
            var userBll        = new Mock <IUserBll>();
            var bikeController = new BikeController(bikeBll, BikePortalMapper.Create(), userBll.Object);

            bikeController.Request = new HttpRequestMessage();

            var user = User.Create("name", "name");

            userBll.Setup(u => u.GetUser(It.IsAny <string>())).Returns(user);

            var description = "description";
            var model       = "model of bike";
            var price       = 123M;
            var name        = "name of bike";

            var bikeBindingModel = new BikeBindingModel
            {
                Description = description,
                Model       = model,
                Price       = price,
                Name        = name
            };
            var responseTask = bikeController.Post(bikeBindingModel);
            var message      = responseTask.ExecuteAsync(new CancellationToken()).Result;

            Assert.AreEqual(message.StatusCode, HttpStatusCode.OK);

            var bikeViewModel = bikeController.Get();

            Assert.IsTrue(bikeViewModel.Any());
        }
예제 #2
0
        public void PostTest()
        {
            // Arrange
            var mockBikeBll = new Mock <IBikeBll>();
            var mapper      = BikePortalMapper.Create();
            var mockUserBll = new Mock <IUserBll>();
            var mockUser    = new Mock <User>();

            mockUserBll.Setup(u => u.GetUser(It.IsAny <string>())).Returns(mockUser.Object);
            var controller = new BikeController(mockBikeBll.Object, mapper, mockUserBll.Object);

            const string  description = "Wonderful bike";
            const string  model       = "Model";
            const string  name        = "Name";
            const decimal price       = 123M;

            // Act

            var bindingModel = new BikeBindingModel
            {
                Description = description,
                Model       = model,
                Name        = name,
                Price       = price
            };

            controller.Post(bindingModel);

            // Assert

            var bike = new Bike
            {
                Id          = 0,
                Uploader    = mockUser.Object,
                Comments    = new List <Comment>(),
                Description = description,
                Model       = model,
                Name        = name,
                Price       = price
            };

            mockBikeBll.Verify(m => m.Add(bike));
        }
        public IHttpActionResult Post([FromBody] BikeBindingModel model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var bike       = Mapper.Map <Bike>(model);
            var domainUser = GetDomainUser();

            if (domainUser == null)
            {
                return(BadRequest("invalid user"));
            }
            bike.Uploader = domainUser;
            _bikeBll.Add(bike);

            ArticleAdded.Instance.BroadcastArticleAdded();

            return(Ok());
        }
 // PUT: api/Bike/5
 public void Put(int id, [FromBody] BikeBindingModel model)
 {
 }