我正在尝试将socket.io挂钩到Hapi.js服务器.我已经测试了vanilla Node.js中的socket.io实现,一切都很好; Hapi实现的服务器端似乎工作正常,但"/socket.io/socket.io.js"资源不会提供给客户端.
我已经检查了Hapi示例,但是他们只显示了在服务器上做了什么,他们在客户端握手上的文档看起来很奇怪:他们在端口8000上有一个服务器,但是说要发布socket.io握手到8080--我甚至试过这个(看起来很不稳定,并且与其他所有socket.io实现不一致)没有运气.
谢谢!
我有一个Mailer看起来像这样的东西:
class EventMailer < BaseMailer
def event_added(user_id, event_id)
# do stuff and email user about the event
end
end
Run Code Online (Sandbox Code Playgroud)
我EventMailer在Event课堂上这样称呼它:
class Event < Task
def notify_by_email(user)
EmailLog.send_once(user.id, id) do
EventMailer.delay(queue: 'mailer').event_added(user.id, id)
end
end
end
Run Code Online (Sandbox Code Playgroud)
哪个EmailLog是记录已发送电子邮件的类..delay由Sidekiq添加.
但是当我尝试测试#notify_by_email每个事件和用户只调用一次时,我的规范失败了:
1) Event#notify_by_email only sends once per user
Failure/Error: expect(EventMailer).to receive(:event_added).once
(<EventMailer (class)>).event_added(any args)
expected: 1 time with any arguments
received: 0 times with any arguments
Run Code Online (Sandbox Code Playgroud)
规范如下:
let(:owner) { User.make! }
let(:product) …Run Code Online (Sandbox Code Playgroud)