On Dec 29, 2010, at 12:01 AM, Shea Levy wrote:
> Hi all,
>
> What's the best way to handle features which rely on an external API in a
> behaviour-driven way? Suppose I have an app which manages online ordering
> from several independent stores, with a cut taken from each purchase, and I
> want to add a feature whereby orders made by phone that were facilitated by
> the website can be tracked so that the cut can be taken. I discover that I
> can use Twilio to generate a phone number for each store and set up a
> controller to generate Twiml that results in callers to that phone number
> hearing a recording warning them that their call will be recorded then
> redirecting them to the store's real number, with a URL of the recording
> being sent back to the controller after hangup. How would I drive out the
> desired behaviour (which can be seen as either "the app generates the proper
> twiml and stores the relevant call data" or "the app routes and records
> calls" depending on your perspective) from the outside-in? I don't know how
> to write a Cucumber step definition that ensures that a phone rings!
>
The behavior of the app is to set up the Twimi correctly, so I'd specify that
with an automation tool like RSpec or Cucumber. You can do a manual system test
to prove the phone rings.
I'm sure there are other opinions.
Cheers,
David
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users