Пример #1
0
        public IActionResult Post([FromBody] List <CustomerPreference> customerPreferences)
        {
            if (ModelState.IsValid)
            {
                var customerPreferenceResponse = MarketingHandler.BuildResponse(customerPreferences);
                var dictionary = customerPreferenceResponse.BuildDictionaryOfDatesAndNames();
                _report.CreateReport(dictionary);
                return(Ok());
            }

            return(BadRequest(ModelState));
        }
Пример #2
0
        public void shouldReturnCorrectDatesForEachMarketingPreferenceSelected()
        {
            var preferences = new List <CustomerPreferenceCentre.Models.Request.CustomerPreference>()
            {
                new CustomerPreferenceCentre.Models.Request.CustomerPreference
                {
                    CustomerName        = _nameDate4,
                    MarketingPreference = new MarketingPreference
                    {
                        Date = 4
                    }
                },
                new CustomerPreferenceCentre.Models.Request.CustomerPreference
                {
                    CustomerName        = _nameDaySatSun,
                    MarketingPreference = new MarketingPreference
                    {
                        Days = new[] { "Saturday, Sunday" }
                    }
                },
                new CustomerPreferenceCentre.Models.Request.CustomerPreference
                {
                    CustomerName        = _nameEveryday,
                    MarketingPreference = new MarketingPreference
                    {
                        Everyday = true
                    }
                },
                new CustomerPreferenceCentre.Models.Request.CustomerPreference
                {
                    CustomerName        = _nameNever,
                    MarketingPreference = new MarketingPreference
                    {
                        Never = true
                    }
                }
            };

            var response = MarketingHandler.BuildResponse(preferences);

            var customerDate4     = GetCustomerName(response, _nameDate4);
            var customerDaySatSun = GetCustomerName(response, _nameDaySatSun);
            var customerEveryday  = GetCustomerName(response, _nameEveryday);
            var customerNever     = GetCustomerName(response, _nameNever);

            customerDate4.MarketingDates.All(date => date.Day == 4).ShouldBeTrue();
            customerDaySatSun.MarketingDates.All(date => date.DayOfWeek.ToString() == "Saturday" ||
                                                 date.DayOfWeek.ToString() == "Sunday").ShouldBeTrue();
            customerEveryday.MarketingDates.Count.ShouldBe(90);
            customerNever.MarketingDates.ShouldBeEmpty();
        }