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>(); }
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>(); }
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; }); }