Commit graph

432 commits

Author SHA1 Message Date
Bradley M. Kuhn
731bc2a05d Remove duplicate my.
Did not cause a problem, but generated a warning.
2015-12-16 18:43:11 -08:00
Bradley M. Kuhn
9417690277 Fix typo from last commit. 2015-12-16 18:42:59 -08:00
Bradley M. Kuhn
5d8d480223 Begin implementation of addPostalAddress.
These tests mostly fail, although a few pass automatically:

not ok 26 - addPostalAddress: dies for undefined id
not ok 27 - addPostalAddress: dies for non-numeric id
not ok 28 - addPostalAddress: postal address undefined fails
ok 29 - addPostalAddress: type is not added when other input paramaters are invalid
ok 30 - addPostalAddress: addPostalAddress of a valid formatted_address works.
ok 30 - addPostalAddress: addPostalAddress of a valid formatted_address works.
not ok 31 - addPostalAddress: id returned is sane.

Goal is to implement those and make sure they all pass.
2015-12-16 18:36:47 -08:00
Bradley M. Kuhn
bb84d6ad31 Minor documentation correction. 2015-12-16 18:25:07 -08:00
Bradley M. Kuhn
69260413f3 Import script no longer needs to make this link.
addSupporter() now does it properly in the API.
2015-12-16 18:15:54 -08:00
Bradley M. Kuhn
c4668b81d6 addEmailAddress: supporter_email_address_mapping
Properly map email address to supporter when email address is added.

Test now passes:
   ok 12 - addSuporter: email address mapping is created on addSupporter() w/ email address included
2015-12-16 18:13:28 -08:00
Bradley M. Kuhn
3f3f8b7090 Did I have some other language on the brain?
$self is the standard name for the current object in Perl, of course. :)
2015-12-16 18:07:46 -08:00
Bradley M. Kuhn
6e10f76d5a Wrap addSupporter operations in transaction
All of the addSupporter must now succeed (including sub-operations like
addEmailAddress).

This causes one failing test to now pass:
   ok 55 - addSupporter: fails if email_address given but email cannot be inserted
2015-12-14 17:30:44 -08:00
Bradley M. Kuhn
74146a15c9 Disconnect from this database handle too. 2015-12-14 17:28:36 -08:00
Bradley M. Kuhn
159d3d6609 Also verify it's a HASH reftype. 2015-12-14 17:28:19 -08:00
Bradley M. Kuhn
2950067c63 bug in tests found with transaction ref counting
Now that we are properly nesting transactions, this test is shown to be
incorrect.  Namely, it is indeed correct that the entire add should fail
when we've given something invalid: we don't want to add the requestType
if it wasn't already there if the parameter to add
addRequestConfigurations was invalid.
2015-12-14 17:25:02 -08:00
Bradley M. Kuhn
2a374b957e Correct off-by-one error in counter.
The counter should be incremented/decremented after testing its value,
not before.
2015-12-14 17:20:17 -08:00
Bradley M. Kuhn
45570a5db0 Wrap dbh->begin_work & dbh->commit
I want to be able to nest begin_work()/commit() calls.  Years ago (in
the mid-1990s), when I did database programming, this is how we handled
this scenario.  I have no idea if there is now a "better way" to do
this, but some quick net searches found nothing that is recommended, but
I admittedly didn't search that hard.

This should work for our needs.
2015-12-14 17:16:35 -08:00
Bradley M. Kuhn
6b8d79553b Test various database integrity questions.
This new section of tests verifies that when the database disappears
underneath or has other types of problems that the API still functions
as expected.

The second test committed herein currently fails.
2015-12-14 17:05:42 -08:00
Bradley M. Kuhn
6bbb59c36a Test to verify email address mapping created.
This currently fails; addSupporter() must be corrected.
2015-12-14 16:43:47 -08:00
Bradley M. Kuhn
5ac8d562e1 Remove duplicate addRequestType call. 2015-12-14 16:32:59 -08:00
Bradley M. Kuhn
6e67f5cc20 This statement handler is no longer used. 2015-12-14 16:32:50 -08:00
Bradley M. Kuhn
630a807544 Use new addRequestType from Supporters module. 2015-12-14 16:31:50 -08:00
Bradley M. Kuhn
69945c2704 Implementation of getRequestConfigurations
A basic implementation of getRequestConfigurations and tests to go with
it.

Also added here is the test to verify that no items are added when
duplicates are included.
2015-12-13 14:06:22 -08:00
Bradley M. Kuhn
4331093cee Basic implementation of addRequestConfigurations
Adjusted one test slightly: there was a missing argument.  Also,
corrected test count.

While implementing, I realized a failure mode that forces a rollback:
duplication on the input list of configurations.  Tests are now needed
for that.
2015-12-13 13:37:52 -08:00
Bradley M. Kuhn
63af394ca6 Tests for an operation addRequestConfigurations
These tests currently fail; will write code next.
2015-12-13 13:28:38 -08:00
Bradley M. Kuhn
f0f6c6978c Properly add my email address. 2015-12-13 13:07:44 -08:00
Bradley M. Kuhn
dc12600b70 Correct license specification in Makefile.PL
But note this is AGPLv3-or-later.
2015-12-13 13:07:36 -08:00
Bradley M. Kuhn
ae9685d16b Automatically call test suite on Emacs M-x compile 2015-12-13 13:04:53 -08:00
Bradley M. Kuhn
735db56d47 Begin implementation of addRequestConfigurations
Includes some modifications to reuse data from previous tests.
2015-12-13 13:04:27 -08:00
Bradley M. Kuhn
8fd03e8e6f Fail causes on getRequestConfigurations. 2015-12-13 12:50:08 -08:00
Bradley M. Kuhn
a3296f4b92 Switch to new addRequestType from API. 2015-12-13 12:34:08 -08:00
Bradley M. Kuhn
b5954e391e Correct test to actually test not-found case.
It was always going to pass no matter what the other way it was written.
2015-12-13 12:32:36 -08:00
Bradley M. Kuhn
4df468bb1b New test for addSupporter's addEmailAddress call 2015-12-13 12:31:54 -08:00
Bradley M. Kuhn
302b2b6f8b Begin switch to use API rather than direct DB call 2015-12-13 12:16:42 -08:00
Bradley M. Kuhn
19d513280f addRequestType and getRequestType methods.
Including tests for both.
2015-12-13 12:16:14 -08:00
Bradley M. Kuhn
bf4d5d8b23 Fix number of arguments on _verifyId in prototype. 2015-12-13 12:15:50 -08:00
Bradley M. Kuhn
b34de3c1da Verify email address format with external module. 2015-12-11 18:32:59 -08:00
Bradley M. Kuhn
9e2359ed72 Test to verify addEmailAddress returns a valid id. 2015-12-11 18:23:24 -08:00
Bradley M. Kuhn
5b07fe6af9 Actual email address add code; tests stay same. 2015-12-11 18:19:25 -08:00
Bradley M. Kuhn
b1436e037e addEmailAddress: call addAddressType underneath
address_type is added automatically from the addEmailAddress call.
Since addAddressType does a lookup first, this should not cause
duplicates.
2015-12-09 19:56:22 -08:00
Bradley M. Kuhn
63383eef02 Correct messages. 2015-12-09 19:53:20 -08:00
Bradley M. Kuhn
d059523830 Make variable name more descriptive. 2015-12-09 19:52:31 -08:00
Bradley M. Kuhn
6d62cdeb6c Correct these tests to actually test right thing.
They were die'ing, alright, but not for the right reason.
2015-12-09 19:50:02 -08:00
Bradley M. Kuhn
a3aafac44a addAddressType: initial implementation & unit test 2015-12-09 19:48:59 -08:00
Bradley M. Kuhn
a1df7fc544 Reorganize documentation an order of tests.
Make this a little easier to find.
2015-12-09 19:38:22 -08:00
Bradley M. Kuhn
b0d7639bc3 Remove stray use command, likely bad paste. 2015-12-09 19:37:36 -08:00
Bradley M. Kuhn
ba6843e21e Begin work on addEmailAddress method.
Basic stub and a few tests.
2015-12-09 19:17:46 -08:00
Bradley M. Kuhn
2c14c20db9 Change comment at top. 2015-12-09 18:39:40 -08:00
Bradley M. Kuhn
587144f03e _verifyId method: initial implementation.
Internal method for use to verify that an id we have really is in the
database.

For use before other operations.
2015-12-09 18:39:18 -08:00
Bradley M. Kuhn
de7b145ac3 Some documentation for existing methods. 2015-12-09 18:37:26 -08:00
Bradley M. Kuhn
03b1ac5436 Add local variables for Emacs. 2015-12-09 18:36:57 -08:00
Bradley M. Kuhn
c86256d005 Initial basic support for creating a new Supporter.
This is incomplete as of yet, since it doesn't properly set up other
tables.
2015-12-09 16:06:07 -08:00
Bradley M. Kuhn
70ad0b8b30 Initial basic support for creating a new Supporter.
This is incomplete as of yet, since it doesn't properly set up other
tables.
2015-12-09 15:44:05 -08:00
Bradley M. Kuhn
a10e2e3a57 Ignore Makefile.old as well. 2015-12-06 19:24:24 -08:00