public void SetUp() { // you have to be an administrator to access the order controller Thread.CurrentPrincipal = new GenericPrincipal(new GenericIdentity("admin"), new[] { "Administrator" }); orderRepository = MockRepository.GenerateStub<IRepository<Order>>(); countryRepository = MockRepository.GenerateStub<IRepository<Country>>(); cardTypeRepository = MockRepository.GenerateStub<IRepository<CardType>>(); encryptionService = MockRepository.GenerateStub<IEncryptionService>(); postageService = MockRepository.GenerateStub<IPostageService>(); userService = MockRepository.GenerateStub<IUserService>(); searchService = MockRepository.GenerateStub<IOrderSearchService>(); var mocks = new MockRepository(); statusRepository = MockRepository.GenerateStub<IRepository<OrderStatus>>(); orderController = new OrderController( orderRepository, countryRepository, cardTypeRepository, encryptionService, postageService, userService, searchService, statusRepository ); testContext = new ControllerTestContext(orderController); postageService.Expect(ps => ps.CalculatePostageFor(Arg<Order>.Is.Anything)); userService.Expect(us => us.CurrentUser).Return(new User { UserId = 4, RoleId = Role.AdministratorId }); testContext.TestContext.Context.User = new User { UserId = 4 }; testContext.TestContext.Request.RequestType = "GET"; testContext.TestContext.Request.Stub(r => r.QueryString).Return(new NameValueCollection()); testContext.TestContext.Request.Stub(r => r.Form).Return(new NameValueCollection()); statusRepository.Expect(x => x.GetAll()).Return(new List<OrderStatus>().AsQueryable()); mocks.ReplayAll(); }
public TestController(OrderController orderController, ILogger logger, IEmailSender emailSender) { this.orderController = orderController; this.logger = logger; this.emailSender = emailSender; }