public NotificationServiceTests()
        {
            EmailRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<EmailQueue, Guid>>();
            EmailPreferenceRepository = MockRepository.GenerateStub < IRepositoryWithTypedId<EmailPreferences, string>>();
            UserIdentity = MockRepository.GenerateStub<IUserIdentity>();
            UserRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<User, string>>();
            OrderStatusCodeRepository = MockRepository.GenerateStub<IRepositoryWithTypedId<OrderStatusCode, string>>();
            ServerLink = MockRepository.GenerateStub<IServerLink>();
            QueryRepositoryFactory = MockRepository.GenerateStub<IQueryRepositoryFactory>();
            RepositoryFactory = MockRepository.GenerateStub<IRepositoryFactory>();
            RepositoryFactory.OrganizationRepository =
                MockRepository.GenerateStub<IRepositoryWithTypedId<Organization, string>>();

            AdminWorkgroupRepository = MockRepository.GenerateStub<IRepository<AdminWorkgroup>>();
            QueryRepositoryFactory.AdminWorkgroupRepository = AdminWorkgroupRepository;
            WorkgroupRepository = MockRepository.GenerateStub<IRepository<Workgroup>>();
            RepositoryFactory.WorkgroupRepository = WorkgroupRepository;

            NotificationService = new NotificationService(EmailRepository, EmailPreferenceRepository, UserRepository, OrderStatusCodeRepository, UserIdentity, ServerLink, QueryRepositoryFactory, RepositoryFactory);

            ServerLink.Expect(a => a.Address).Return("FakeHost").Repeat.Any();
            ApprovalRepository = MockRepository.GenerateStub<IRepository<Approval>>();

            SetupOrderStatusCodes();
        }
        public NotificationServiceTests()
        {
            EmailRepository           = MockRepository.GenerateStub <IRepositoryWithTypedId <EmailQueue, Guid> >();
            EmailPreferenceRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <EmailPreferences, string> >();
            UserIdentity              = MockRepository.GenerateStub <IUserIdentity>();
            UserRepository            = MockRepository.GenerateStub <IRepositoryWithTypedId <User, string> >();
            OrderStatusCodeRepository = MockRepository.GenerateStub <IRepositoryWithTypedId <OrderStatusCode, string> >();
            ServerLink             = MockRepository.GenerateStub <IServerLink>();
            QueryRepositoryFactory = MockRepository.GenerateStub <IQueryRepositoryFactory>();
            RepositoryFactory      = MockRepository.GenerateStub <IRepositoryFactory>();
            RepositoryFactory.OrganizationRepository =
                MockRepository.GenerateStub <IRepositoryWithTypedId <Organization, string> >();

            AdminWorkgroupRepository = MockRepository.GenerateStub <IRepository <AdminWorkgroup> >();
            QueryRepositoryFactory.AdminWorkgroupRepository = AdminWorkgroupRepository;
            WorkgroupRepository = MockRepository.GenerateStub <IRepository <Workgroup> >();
            RepositoryFactory.WorkgroupRepository = WorkgroupRepository;

            NotificationService = new NotificationService(EmailRepository, EmailPreferenceRepository, UserRepository, OrderStatusCodeRepository, UserIdentity, ServerLink, QueryRepositoryFactory, RepositoryFactory);

            ServerLink.Expect(a => a.Address).Return("FakeHost").Repeat.Any();
            ApprovalRepository = MockRepository.GenerateStub <IRepository <Approval> >();

            SetupOrderStatusCodes();
        }