Commit graph

20 commits

Author SHA1 Message Date
Bradley M. Kuhn
fd2d2e73f2 Merge branch 'upstream-master' 2015-01-03 16:55:34 -05:00
Olaf Alders
267e814e70 Formatting and naming changes in t/SubscriptionPayments.t 2015-01-02 23:05:36 -05:00
Bradley M. Kuhn
4a0e47a78a Merge branch 'correct-options-output'
Conflicts:
	.gitignore
2015-01-02 13:35:00 -05:00
Bradley M. Kuhn
5113ced7e3 Properly extract Options from PaymentItemInfo
The Options fields found in
/PaymentTransactionDetails/PaymentItemInfo/PaymentItem/Options have
never been extracted in the proper way.  In fact, I'd be surprised if
anyone found the previous method of extraction useful at all.

I discovered this bug when I needed to lookup the Options selected
during payment, and found they weren't returned by the API.

Specifically, the value inside the SOAP tags, which is what the API
previously returned, are simply not useful: they are typically empty.
The interesting data is stored in the attributes of 'name' and 'value'.

Note, BTW, that each PaymentItem can have its own set of Options.  This
code added herein properly extracts the Options data for each
PaymentItem, and places it both in the Options field for that
PaymentItem, and in the array in the PII_Options "convenience" field.

As can be seen in the accompanying changes to t/OptionsFields.t, the
return values of the Options data is now a hash rather than a list.  I
believe this API-user-visible change is appropriate since a hash is
ultimately the natural representation of this data, and since having the
Options as an array of empty strings wasn't useful, anyway.

Nevertheless, if existing user code of this API relies on Options being
an array of empty strings (which I suppose could have been usefully used
in scalar context to get the count of options in the record), this
change theoretically creates a user-visible change in the API.  I can't
imagine anyone found the previous return value useful in the past
anyway, so I'd be surprised if anyone relies on this mis-feature.  If
they did, they can simply change their code to:
       scalar keys ...{Options}
instead of:
       scalar @...{Options}

However, since this is technically an API change, I've updated the
Changes file and the module documentation to mention it.
2015-01-02 13:15:46 -05:00
Bradley M. Kuhn
dd0ff8e2f4 Indentation change & Emacs variables to enforce it
The indentation style of this test file should match that of other
indentation in other tests.

I've also herein added Emacs variable settings to make sure Emacs users
have the same style enforced.
2015-01-02 12:55:05 -05:00
Bradley M. Kuhn
6c544426dd use autodie to simplify code for open & $? == 0 2015-01-02 12:50:57 -05:00
Bradley M. Kuhn
6be85a448e Move use Cwd; to top with other use statements. 2015-01-02 12:49:32 -05:00
Bradley M. Kuhn
dd503a3080 Remove unnecessary use floating around in code.
@oalders noted in patch review on a pull request:
> Looks like this might be left over from debugging?

And he was indeed correct. ;)

I've removed the use.  Data::Dumper isn't used by this test.
2015-01-02 11:44:02 -05:00
Bradley M. Kuhn
7aeeb15fcf Consolidate use's to top of file.
@oalders suggests in a comment on my pull request:
> Could we move this use up to to the top of the file with the others?

So I've done so here.
2015-01-02 11:43:21 -05:00
Bradley M. Kuhn
9045d3d511 Switch to use autodie to simplify code.
@oalders suggests in a pull request comment:
> If we use autodie then we won't need to check for success on open().

I've made this change to accommodate that suggestion.
2015-01-02 11:42:10 -05:00
Bradley M. Kuhn
f8ca3ca571 Current Options details test: probably wrong
Currently, the {PII_Options} / {PaymentItems}[0]{Options} are a list of
empty strings.  This is probably the incorrect behavior, which I'm about
to fix.  However, I'm committing this test as-is since it passes against
the current code as it stands.
2015-01-01 19:06:32 -05:00
Bradley M. Kuhn
9b8464291c Beginnings of OptionFields tester.
I've noticed that the PII_Options field doesn't seem to properly contain
the values it should.  This is the beginning of a test file for what
PII_Options should contain.

The initial step here is to simply create one of my forms to create a
test transaction, and verify that the transaction has been created.
2015-01-01 19:03:02 -05:00
Bradley M. Kuhn
840f87e4e6 Add SellerEmail variable for testing data.
There are some situations were having the email address of the seller is
useful for testing.  This change allows for it as a parameter to the
tests.
2015-01-01 18:08:04 -05:00
Bradley M. Kuhn
c5f62dbdb1 Beginnings of tests for subscription payments.
These tests verify a TransactionSearch for ProfileID, and also serve as
an example of the method to find subscriptions using that method.

I've also added to the test a creation of an HTML form that can be used
to create a transaction that will allow the test to pass.  This is a
hack, not unlike the hacks existing in the tests now that ask for
pasting of a transaction ID.  Long term, if someone wants to do the
work, using WWW:Mechanize or some other method for full automation of
these tests might be useful, but I think the generated HTML file is a
step forward from the cut-and-paste solution currently in use.
2015-01-01 17:47:47 -05:00
Bradley M. Kuhn
7198b854b9 Add SellerEmail variable for testing data.
There are some situations were having the email address of the seller is
useful for testing.  This change allows for it as a parameter to the
tests.
2015-01-01 17:47:38 -05:00
Olaf Alders
2d5812cf10 Minor cleanup, mostly around debugging. 2014-03-23 00:40:54 -04:00
Olaf Alders
3878e90817 Tidy everything. 2014-03-22 22:31:50 -04:00
Danny Hembree
d92e94b703 Corrected errors int RecurrintPayments.t and TransactionSearch.t 2009-12-06 23:10:55 -08:00
Danny Hembree
47b68fb3e8 Made changes to Success checks in all test and in API.pm so that SuccessWithWarning won't cause failure. 2009-12-04 02:42:41 -08:00
Daniel Hembree
925e625e76 Initial git commit of release 0.62 2009-12-02 21:57:44 -08:00