public void TheCreateReportView_ShowsAComboOfCustomers()
        {
            var controller = new DailyReportsController(this.session);
            this.session.Save(new Customer { Name = "Pippo1", VATNumber = "12345678901" });
            this.session.Save(new Customer { Name = "Pippo2", VATNumber = "12345678902" });
            this.session.Save(new Customer { Name = "Pippo3", VATNumber = "12345678903" });

            var result = controller.Create();

            var viewResult = (ViewResult)result;
            var selectCustomerList
                = viewResult.ViewBag.SelectCustomerList as SelectList;
            selectCustomerList.Should().Not.Be.Null();
            selectCustomerList.Count().Should().Be.EqualTo(3);
        }
        public void CreatingANewReport_AddsItToTheDb()
        {
            var controller = new DailyReportsController(this.session);
            string customerName = "Pippo1";
            this.session.Save(new Customer { Name = customerName, VATNumber = "12345678901" });
            var reportDate = new DateTime(2012, 11, 29, 8, 0, 0);
            var viewModel = new DailyReportViewModel
                {
                    CustomerId = 1,
                    Date = reportDate,
                    MorningStart = "09:00",
                    MorningEnd = "13:00",
                    AfternoonStart = "14:00",
                    AfternoonEnd = "18:00",
                    Offsite = true,
                    Notes = "La macchinetta del caffé fa pena."
                };

            var result = controller.Create(viewModel);

            var redirectResult = result as RedirectToRouteResult;
            var action = redirectResult.RouteValues["action"];

            var reportOnDb = this.session.Get<DailyReport>(1);
            reportOnDb.Should().Not.Be.Null();
            reportOnDb.Customer.Should().Not.Be.Null();
            reportOnDb.Customer.Name.Should().Be.EqualTo(customerName);
            reportOnDb.Date.Should().Be.EqualTo(reportDate);
        }