Skip to content

scottswezey/twilio_magic_values

Repository files navigation

Twilio Magic Values

Provides Elixir apps with simple, pragmatic access to magic testing values for the Twilio API. The module and function names help give you code that is easier to read and is less prone to typos. Automated tests in this project also ensure that you will know if the magic numbers ever change.

Installation

  • Update your mix.exs deps.
def deps do
  [
    ...,
    {:twilio_magic_values, "~> 1.0", only: :test}
  ]
end
  • Run mix deps.get.
  • No need to modify the applications or extra_applications settings to use this project.

Pseudocode usage examples

See the docs for all available modules and methods for all known magic numbers.

Instead of testing a call from +15005550001

Use: TwilioMagicValues.Calling.invalid_caller_id/0

alias TwilioMagicValues.Calling

make_test_call(from: Calling.invalid_caller_id(),
               to: Calling.invalid_recipient(),
               ...)

Instead of testing a purchase for +15005550000

Use: TwilioMagicValues.NumberPurchasing.unavailable_phone_number/0

alias TwilioMagicValues.NumberPurchasing

buy_test_number(exactly: NumberPurchasing.unavailable_phone_number())

Instead of testing sending a message to +15005550004

Use: TwilioMagicValues.Messaging.blacklisted_recipient/0

alias TwilioMagicValues.Messaging

send_test_message(from: Messaging.valid_sender(),
                  to: Messaging.blacklisted_recipient(),
                  ...)

Project freshness: v1.0.7

  • Latest development: December 19, 2020
  • Tests passed: December 19, 2020

This project is versioned using the SEMVER 2.0.0 rules.

Resources

Other useful Twilio projects written in Elixir

Contributing

  • Issues and pull requests are welcome on GitHub.
  • Twilio doesn't currently provide magic numbers for other parts of their APIs. If they add a new magic number, please open an issue or pull request.
  • See CONTRIBUTING.md

License

GPL v3; See LICENSE file.

Author

Written by Scott Swezey.