public DailyGrossRepositoryTest()
        {
            System.Configuration.ConnectionStringSettings cs = System.Configuration.ConfigurationManager.ConnectionStrings["aps"];

            _container = new WindsorContainer();
            _container
                .Register(Component.For<IDatabase>()
                    .ImplementedBy<Database>()
                    .DependsOn(Dependency.OnValue("provider", cs.ProviderName))
                    .DependsOn(Dependency.OnValue("connectionString", cs.ConnectionString))
                    //.DependsOn(Dependency.OnValue("provider", "System.Data.SqlClient"))
                    //.DependsOn(Dependency.OnValue("connectionString", "Data Source=dev-s01;Initial Catalog=aps;User ID=sa;Password=sql@dm1n"))
                )
                .Register(Component.For<IDailyGrossRepository>()
                    .ImplementedBy<DailyGrossRepository>()
                );

            _now = DateTime.Now;
            _ww = _now.WorkWeek();
            _db = _container.Resolve<IDatabase>();
            TestHelpers.TestData.Reset(_db);
            _employee = TestHelpers.TestData.GetEmployee(_db, "Tom");            

            _repos = _container.Resolve<IDailyGrossRepository>();
        }
Пример #2
0
        public PayrollManagerTest()
        {
            _now = DateTime.Now;
            _ww = _now.WorkWeek();
            _employees = MockData.Employees;
            _grosses = MockData.Grosses(_ww.Start, _ww.End);

            _emprepos = Substitute.For<IEmployeeRepository>();
            _emprepos.Get().Returns(_employees);

            _dgrepos = Substitute.For<IDailyGrossRepository>();
            _dgrepos.Get(Arg.Any<Employee>(), Arg.Any<DateTime>(), Arg.Any<DateTime>()).ReturnsForAnyArgs(_grosses);
                
            _container = new WindsorContainer();
            _container
                .Register(Component.For<IEmployeeRepository>()
                    .Instance(_emprepos)
                )
                .Register(Component.For<IDailyGrossRepository>()
                    .Instance(_dgrepos)
                )

                .Register(Component.For<IPayrollManager>()
                    .ImplementedBy<PayrollManager>()
                );

            _mgr = _container.Resolve<IPayrollManager>();
        }
Пример #3
0
 public void GetPayroll_New()
 {
     _now = _now.AddMonths(1);
     _ww = _now.WorkWeek();
     var payroll = _mgr.GetPayroll(_now);
     _emprepos.Received(1).Get();
     _employees.Select(e =>
     {
         _dgrepos.Received(1).Get(e, _ww.Start, _ww.End);
         return e;
     });
     payroll.ShouldNotBe(null);
     payroll.StartTDS.ShouldBe(_ww.Start);
     payroll.EndTDS.ShouldBe(_ww.End);
     payroll.Employees.ShouldNotBe(null);
     payroll.Employees.ShouldNotBeEmpty();
     payroll.Employees.Select(e =>
     {
         _employees.ShouldContain(e.Employee);
         e.Grosses.ShouldNotBeEmpty();
         DateTime dt = _ww.Start;
         e.Grosses.Select(g =>
         {
             g.Gross.ShouldBe(0);
             g.GrossTDS.ShouldBe(dt);
             dt = dt.AddDays(1);
             return g;
         });
         return e;
     });
 }