Change summary
lib/statsd.rb | 3 +++
test/test_registration.rb | 32 ++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
Detailed changes
@@ -14,6 +14,9 @@ Registration::Registered.statsd_count :write, "registration.registered"
Registration::Activation.extend StatsD::Instrument
Registration::Activation.statsd_count :write, "registration.activation"
+Registration::DataOnly.extend StatsD::Instrument
+Registration::DataOnly.statsd_count :write, "registration.data_only"
+
Registration::Payment::Bitcoin.extend StatsD::Instrument
Registration::Payment::Bitcoin.statsd_count :write, "registration.payment.bitcoin"
@@ -2582,6 +2582,38 @@ class RegistrationTest < Minitest::Test
assert_mock Command::COMMAND_MANAGER
end
em :test_write_calls_sim_kind_for_and_process
+
+ def test_write_emits_statsd_count
+ statsd_capture = []
+ result = execute_command do
+ Command::COMMAND_MANAGER.expect(
+ :write,
+ EMPromise.reject(:test_result),
+ [Matching.new do |iq|
+ assert_equal iq.form.title, "Order SIM"
+ assert(
+ iq.form.instructions.start_with?("Our SIMs provide a plan")
+ )
+ end]
+ )
+ StatsD.singleton_client.stub(
+ :increment,
+ ->(*args, **kwargs) { statsd_capture << [args, kwargs] }
+ ) do
+ Registration::DataOnly.new(
+ @customer,
+ @sim_kind
+ ).write.catch { |e| e }.sync
+ end
+ end
+ assert_equal result, :test_result
+ assert_includes(
+ statsd_capture.map { |args, _| args.first },
+ "registration.data_only"
+ )
+ assert_mock Command::COMMAND_MANAGER
+ end
+ em :test_write_emits_statsd_count
end
class PayForSimTest < Minitest::Test