diff --git a/app/presenters/node_info_presenter.rb b/app/presenters/node_info_presenter.rb index 705fdfbe6..68a4c3c71 100644 --- a/app/presenters/node_info_presenter.rb +++ b/app/presenters/node_info_presenter.rb @@ -21,6 +21,7 @@ class NodeInfoPresenter doc.services = available_services doc.open_registrations = open_registrations? doc.metadata["nodeName"] = name + doc.metadata["xmppChat"] = chat_enabled? end def add_static_data(doc) @@ -66,6 +67,10 @@ class NodeInfoPresenter AppConfig.settings.enable_registrations? end + def chat_enabled? + AppConfig.chat.enabled? + end + def available_services Configuration::KNOWN_SERVICES.select {|service| AppConfig.show_service?(service, nil) diff --git a/spec/presenters/node_info_presenter_spec.rb b/spec/presenters/node_info_presenter_spec.rb index 8c9bc436e..500793d3b 100644 --- a/spec/presenters/node_info_presenter_spec.rb +++ b/spec/presenters/node_info_presenter_spec.rb @@ -35,7 +35,8 @@ describe NodeInfoPresenter do "users" => {} }, "metadata" => { - "nodeName" => AppConfig.settings.pod_name + "nodeName" => AppConfig.settings.pod_name, + "xmppChat" => AppConfig.chat.enabled? } ) end @@ -116,5 +117,15 @@ describe NodeInfoPresenter do expect(presenter.open_registrations?).to be false end end + + context "when chat is enabled" do + before do + AppConfig.chat.enabled = true + end + + it "should mark the xmppChat metadata as true" do + expect(hash).to include "metadata" => include("xmppChat" => true) + end + end end end