Exemple #1
0
        public void SetUp()
        {
            _dealsRepository = new Mock <IDealsRepository>();
            _dealsRepository.Setup(x => x.SaveDeal(It.IsAny <SaveDealRequest>())).Returns(new SaveDealResponse());

            var keyReader = new Mock <IKeyReader>();

            keyReader.Setup(x => x.GetKey()).Returns("KEY");

            var userService = new Mock <IUserService>();

            userService.Setup(x => x.SaveLastKnownLocation(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <string>())).Returns(new SaveLocationResponse());

            var subject = new DealsService(_dealsRepository.Object, new DealsMapper(new UserMapper(new AesEncryptor(keyReader.Object.GetKey()))), userService.Object);

            _result = subject.SaveDealDetails(new DealModel
            {
                Location = new Location
                {
                    Latitude  = 51,
                    Longitude = 2
                },
                Summary        = "Some Summary",
                Title          = "Some Title",
                UserIdentifier = "Some User Identifier",
                Tags           = new List <string>
                {
                    "General"
                }
            });
        }
Exemple #2
0
        public SaveDealDetailsResponse SaveDealDetails(DealModel deal)
        {
            var response = new SaveDealDetailsResponse();

            if (deal.Title == null || deal.Summary == null || deal.Location == null || deal.Tags.Count == 0)
            {
                response.AddError(new Error
                {
                    Code             = ErrorCodes.ValidationError,
                    UserMessage      = "Title, Summary, Tags and Location fields are required.",
                    TechnicalMessage = "User has not specified required fields."
                });
                return(response);
            }

            var saveDealDetailsResponse = _dealsRepository.SaveDeal(new SaveDealRequest
            {
                Deal = deal
            });

            if (saveDealDetailsResponse.HasError)
            {
                response.AddError(saveDealDetailsResponse.Error);
            }

            return(response);
        }