fix test failures

pull/1/head
eric 2014-02-21 13:16:55 -05:00
parent e8dc4121fa
commit e66c54e3dc
4 changed files with 25 additions and 20 deletions

View File

@ -669,8 +669,8 @@ class Campaign(models.Model):
active_claim = self.work.claim.filter(status="active")[0]
except IndexError, e:
raise UnglueitError(_('Campaign needs to have an active claim in order to be activated'))
if not self.launchable():
raise UnglueitError('Configuration issues need to be addressed before campaign is activated: %s' % self.problems)
if not self.launchable:
raise UnglueitError('Configuration issues need to be addressed before campaign is activated: %s' % unicode(self.problems[0]))
self.status= 'ACTIVE'
self.left = self.target
self.activated = datetime.today()
@ -1081,7 +1081,7 @@ class Work(models.Model):
try:
if self.preferred_edition.cover_image_small():
return self.preferred_edition.cover_image_small()
except IndexError:
except (IndexError, AttributeError):
pass
return "/static/images/generic_cover_larger.png"

View File

@ -495,7 +495,7 @@ class CampaignTests(TestCase):
c1.save()
self.assertEqual(c1.status, 'INITIALIZED')
# ACTIVATED
c2 = Campaign(target=D('1000.00'),deadline=datetime(2013,1,1),work=w)
c2 = Campaign(target=D('1000.00'),deadline=datetime(2013,1,1),work=w,description='dummy description')
c2.save()
self.assertEqual(c2.status, 'INITIALIZED')
u = User.objects.create_user('claimer', 'claimer@example.org', 'claimer')
@ -518,7 +518,7 @@ class CampaignTests(TestCase):
# should not let me suspend a campaign that hasn't been initialized
self.assertRaises(UnglueitError, c1.suspend, "for testing")
# UNSUCCESSFUL
c3 = Campaign(target=D('1000.00'),deadline=now() - timedelta(days=1),work=w2)
c3 = Campaign(target=D('1000.00'),deadline=now() - timedelta(days=1),work=w2,description='dummy description')
c3.save()
c3.activate()
self.assertEqual(c3.status, 'ACTIVE')
@ -538,7 +538,7 @@ class CampaignTests(TestCase):
# SUCCESSFUL
c4 = Campaign(target=D('1000.00'),deadline=now() - timedelta(days=1),work=w)
c4 = Campaign(target=D('1000.00'),deadline=now() - timedelta(days=1),work=w,description='dummy description')
c4.save()
c4.activate()
t = Transaction()
@ -553,7 +553,7 @@ class CampaignTests(TestCase):
self.assertEqual(c4.status, 'SUCCESSFUL')
# WITHDRAWN
c5 = Campaign(target=D('1000.00'),deadline=datetime(2013,1,1),work=w)
c5 = Campaign(target=D('1000.00'),deadline=datetime(2013,1,1),work=w,description='dummy description')
c5.save()
c5.activate().withdraw('testing')
self.assertEqual(c5.status, 'WITHDRAWN')
@ -561,7 +561,7 @@ class CampaignTests(TestCase):
# testing percent-of-goal
w2 = Work()
w2.save()
c6 = Campaign(target=D('1000.00'),deadline=now() + timedelta(days=1),work=w2)
c6 = Campaign(target=D('1000.00'),deadline=now() + timedelta(days=1),work=w2,description='dummy description')
c6.save()
cl = Claim(rights_holder = rh, work = w2, user = u, status = 'active')
cl.save()
@ -851,6 +851,7 @@ class EbookFileTests(TestCase):
target = 1000,
deadline = datetime(2020,1,1),
license = 'CC BY',
description = "dummy description",
)
# download the test epub into a temp file
temp = NamedTemporaryFile(delete=False)
@ -882,6 +883,11 @@ class EbookFileTests(TestCase):
url= acq.get_watermarked().download_link_epub
self.assertRegexpMatches(url,'github.com/eshellman/42_ebook/blob/master/download/42')
#self.assertRegexpMatches(url,'booxtream.com/')
with self.assertRaises(UnglueitError) as cm:
c.activate()
off = Offer(price=10.00, work=w, active=True)
off.save()
c.activate()
#flip the campaign to success
c.cc_date_initial= datetime(2012,1,1)

View File

@ -109,7 +109,7 @@ class CampaignUiTests(TestCase):
self.work = Work(title="test Work")
self.work.save()
self.campaign = Campaign(target=D('1000.00'), deadline=now() + timedelta(days=180),
work=self.work)
work=self.work, description='dummy description')
self.campaign.save()
rh = RightsHolder(owner = self.user, rights_holder_name = 'rights holder name')
@ -162,7 +162,7 @@ class PledgingUiTests(TestCase):
# load a Work and a Campaign to create a Pledge page
self.work = self.user.wishlist.works.all()[0]
self.campaign = Campaign(target=D('1000.00'), deadline=now() + timedelta(days=180),
work=self.work)
work=self.work, description='dummy description')
self.campaign.save()
rh = RightsHolder(owner = self.user, rights_holder_name = 'rights holder name')

View File

@ -29,7 +29,7 @@ from django.contrib import messages
from django.contrib.admin.views.decorators import staff_member_required
from django.contrib.auth.decorators import login_required
from django.contrib.auth.models import User
from django.contrib.auth.views import login,password_reset
from django.contrib.auth.views import login,password_reset, redirect_to_login
from django.contrib.comments import Comment
from django.contrib.sites.models import Site
from django.core import signing
@ -344,14 +344,8 @@ def work(request, work_id, action='display'):
except:
pledged = None
logger.info("pledged: {0}".format(pledged))
cover_width_number = 0
try:
assert not (work.last_campaign_status() == 'ACTIVE' and work.first_ebook())
except:
logger.warning("Campaign running for %s when ebooks are already available: why?" % work.title )
if work.last_campaign_status() == 'ACTIVE':
cover_width_number = cover_width(work)
@ -1169,8 +1163,9 @@ class PurchaseView(PledgeView):
return {'initial':self.data}
def get_preapproval_amount(self):
self.offer_id = self.request.REQUEST.get('offer_id', None)
if not self.offer_id:
if not self.offer_id and self.work.last_campaign() and self.work.last_campaign().individual_offer:
self.offer_id = self.work.last_campaign().individual_offer.id
preapproval_amount = None
if self.offer_id != None:
@ -1446,7 +1441,11 @@ class FundCompleteView(TemplateView):
if context['campaign'].type == THANKS:
return DownloadView.as_view()(request, work=context['work'])
else:
return login_required(self.render_to_response)(context)
if request.user.is_authenticated:
return self.render_to_response(context)
else:
return redirect_to_login(request.get_full_path())
def get_context_data(self):
@ -1486,7 +1485,7 @@ class FundCompleteView(TemplateView):
# fire add-wishlist notification if needed
if transaction.user is not None and correct_transaction_type and (campaign is not None) and (work is not None):
# ok to overwrite Wishes.source?
user.wishlist.add_work(work, 'pledging', notify=True)
transaction.user.wishlist.add_work(work, 'pledging', notify=True)
else:
#put info into session for download page to pick up.
self.request.session['amount']= transaction.amount