Beispiel #1
0
        public void CreateCoupon_CreateCouponAtTheDatabase()
        {
            var fakeCouponRepository = _mocker.GetMock <ICouponRepository>();

            var target = _mocker.CreateInstance <CouponController>();

            fakeCouponRepository
            .Setup(x => x.Create(It.IsAny <Coupon>()))
            .Returns(CreateCoupon("coupon-1"));

            var expiration      = DateTime.Now.ToUniversalTime().Date;
            var createCouponDto = new CreateCouponDto(
                CouponType.Amount,
                10,
                expiration
                );

            target.CreateCoupon(createCouponDto);

            var expected = new Coupon
            {
                CouponType = CouponType.Amount,
                Value      = 10,
                Expiration = expiration
            };

            fakeCouponRepository.Verify(x => x.Create(expected));
        }
        public void CreateCoupon_couponCreated()
        {
            var repository = new CouponRepository(_databaseSettings);

            var target = new CouponController(new CouponManager(repository, _mapper));

            var expiration      = DateTime.Now.ToUniversalTime().Date;
            var createCouponDto = new CreateCouponDto(
                CouponType: CouponType.Amount,
                Value: 10,
                Expiration: expiration
                );

            var result = target.CreateCoupon(createCouponDto);

            Assert.IsType <CreatedAtRouteResult>(result.Result);
            var couponId = ((CreatedAtRouteResult)result.Result).RouteValues["id"].ToString();

            var actual = repository.FindById(couponId);

            var expected = new Coupon
            {
                Id         = couponId,
                CouponType = CouponType.Amount,
                Value      = 10,
                Expiration = expiration
            };

            Assert.Equal(expected, actual);
        }
Beispiel #3
0
        public void CreateCoupon_ReturnCreatedAtRoute()
        {
            var fakeCouponRepository = _mocker.GetMock <ICouponRepository>();

            fakeCouponRepository
            .Setup(x => x.Create(It.IsAny <Coupon>()))
            .Callback((Coupon c) =>
            {
                c.Id = "coupon-1";     // set id so that it would return to the controller
            });


            var target = _mocker.CreateInstance <CouponController>();

            var expiration      = DateTime.Now.ToUniversalTime().Date;
            var createCouponDto = new CreateCouponDto(
                CouponType.Amount,
                10,
                expiration
                );

            var result = target.CreateCoupon(createCouponDto);

            Assert.IsType <CreatedAtRouteResult>(result.Result);

            // You are allowed to use two asserts if one dependent on the other
            var couponId = ((CreatedAtRouteResult)result.Result).RouteValues["id"].ToString();

            Assert.Equal("coupon-1", couponId);
        }
        public CouponDto CreateCoupon(CreateCouponDto couponDto)
        {
            var coupon = _mapper.Map <Coupon>(couponDto);

            _couponRepository.Create(coupon);

            return(_mapper.Map <CouponDto>(coupon));
        }
Beispiel #5
0
        public async Task <Result <CouponDto> > Create(CreateCouponDto createCouponDto)
        {
            var coupon = _mapper.Map(createCouponDto, new Coupon());

            await AddAsync(coupon);

            await Context.SaveChangesAsync();

            return(Result <CouponDto> .SuccessFull(_mapper.Map <CouponDto>(coupon)));
        }
Beispiel #6
0
        public async Task <IActionResult> Create([FromBody] CreateCouponDto createCouponDto)
        {
            var result = await _unitOfWork.CouponService.Create(createCouponDto);

            if (!result.Success)
            {
                return(result.ApiResult);
            }
            return(Created(Url.Link("GetCoupon", new { result.Data.Id }), _mapper.Map <CouponDto>(result.Data)));
        }
Beispiel #7
0
        public async Task <ActionResult <CouponResponseDto> > Create([FromBody] CreateCouponDto couponRequest)
        {
            var coupon = _mapper.Map <Coupon>(couponRequest);

            bool success = await _discountRepository.CreateDiscount(coupon);

            if (!success)
            {
                return(BadRequest());
            }

            var couponResponse = _mapper.Map <CouponResponseDto>(coupon);

            return(CreatedAtRoute("GetDiscount", new { productId = couponResponse.ProductId }, couponResponse));
        }
Beispiel #8
0
 public virtual Task <CouponDto> CreateAsync(CreateCouponDto input)
 {
     return(_service.CreateAsync(input));
 }
        public ActionResult <CouponDto> CreateCoupon([FromBody] CreateCouponDto createCoupon)
        {
            var result = _couponManager.CreateCoupon(createCoupon);

            return(CreatedAtRoute("GetCoupon", new { id = result.Id }, result));
        }