~pidgeon690/mypidge-base/feature+publicity

« back to all changes in this revision

Viewing changes to MyPidge/Users/tests/models.py

  • Committer: Fergus Ross Ferrier
  • Date: 2008-12-01 20:32:29 UTC
  • Revision ID: me@fergusrossferrier.co.uk-20081201203229-tz2yh5ylrdihckkw
User now exists in Person multi-table hierarchy.

We can add people without needing them to register. We can use existing data for a person when they try and register. It's a real bitch to use though.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
from MyPidge.Groups.models import Group, GroupCategory
7
7
from django.core import mail
8
8
from django.test import TestCase
9
 
from MyPidge.Users.forms import RegisterForm
 
9
from MyPidge.Users.forms import RegisterForm, CambridgeRegisterForm
10
10
from MyPidge.Events.models import EventTag
11
11
 
12
12
class UserTests(TestCase):
13
13
    
14
14
    def setUp(self):
15
15
        import sha        
16
 
        self.fergus = User.objects.create(firstname="Fergus", lastname="Ferrier", email="fff21@cam.ac.uk", crsid="fff21", password=sha.new("password").hexdigest())
 
16
        self.fergus = User.objects.create(
 
17
            firstname="Fergus",
 
18
            lastname="Ferrier",
 
19
            email="fff21@cam.ac.uk",
 
20
            password=sha.new("password").hexdigest())
17
21
        self.usertwo = User.objects.create(firstname="E", lastname="Parkinson", email="eric.parkinson@hotmail.com", password="pleaselogmein")
18
22
 
19
23
    def testUserStringRep(self):
112
116
 
113
117
    def setUp(self):
114
118
        import sha        
115
 
        self.fergus = User.objects.create(firstname="Fergus", lastname="Ferrier", email="fff21@cam.ac.uk", crsid="fff21", password=sha.new("password").hexdigest(), membershipstatus="OK", activationlinkkey="tweed")
 
119
        self.fergus = User.objects.create(firstname="Fergus", lastname="Ferrier", email="fff21@cam.ac.uk", password=sha.new("password").hexdigest(), membershipstatus="OK", activationlinkkey="tweed")
116
120
        self.usertwo = User.objects.create(firstname="E", lastname="Parkinson", email="eric.parkinson@hotmail.com", password=sha.new("pleaselogmein").hexdigest(), membershipstatus="EP", activationlinkkey="teddy")
117
 
        self.userthree = User.objects.create(firstname="U", lastname="Larkinson", email="u.larkinson@hotmail.com", crsid="ul333", password=sha.new("pleaselogmein").hexdigest(), membershipstatus="EP", activationlinkkey="teddy222")
 
121
        self.userthree = User.objects.create(firstname="U", lastname="Larkinson", email="u.larkinson@hotmail.com", password=sha.new("pleaselogmein").hexdigest(), membershipstatus="EP", activationlinkkey="teddy222")
118
122
        self.baduser = User.objects.create(firstname="Jecca", lastname="Bludline", email="seismics@gmail.com", password=sha.new("loggame").hexdigest(), membershipstatus="DA", activationlinkkey="beenhere")
119
123
        self.eventtag = EventTag.objects.create(name = "My Tag")
120
124
    
174
178
        self.assertEquals(user.firstname, testuser['firstname'])
175
179
        self.assertEquals(user.lastname, testuser['lastname'])
176
180
        self.assertEquals(user.email, testuser['email'])
177
 
        self.assertEquals(user.crsid, testuser['crsid'])
178
181
        self.assertEquals(user.membershipstatus, "OK")
179
182
        self.assertEquals(len(mail.outbox), 0)
180
183
        self.assertEquals(user.CheckPassword(testuser['password_one']), True)
189
192
        testuser['password_one'] = "helloworld"
190
193
        testuser['password_again'] = "helloworld"
191
194
        
192
 
        registerForm = RegisterForm(testuser, crsid=testuser['crsid'])
 
195
        registerForm = RegisterForm(testuser, crsid = testuser['crsid'])
193
196
        self.assert_(registerForm.is_valid())
 
197
        
194
198
        user, activate = registerForm.save()
195
199
        
 
200
        cambridgeform = CambridgeRegisterForm(testuser, crsid = testuser['crsid'])
 
201
        self.assert_(cambridgeform.is_valid())
 
202
        cambridgeform.pk = user.pk
 
203
        cambridgeform.save()
 
204
        # Do this after saving cambridgeform so they get a link to their college
 
205
        user.GiveDefaults()
 
206
        
196
207
        # Requires activation
197
208
        self.assert_(activate)
198
209
        
199
210
        self.assertEquals(user.firstname, testuser['firstname'])
200
211
        self.assertEquals(user.lastname, testuser['lastname'])
201
212
        self.assertEquals(user.email, testuser['email'])
202
 
        self.assertEquals(user.crsid, testuser['crsid'])
 
213
        self.assertEquals(user.person_ptr.cambridgemember.crsid, testuser['crsid'])
203
214
        self.assertEquals(bool(user.activationlinkkey), True)
204
215
        self.assertEquals(bool(len(user.links.all())), True)
205
216
        self.assertEquals(user.membershipstatus, "EP")
220
231
        self.assert_(registerForm.is_valid())
221
232
        user, activate = registerForm.save()
222
233
        
 
234
        user.GiveDefaults()
 
235
        
223
236
        # Requires activation
224
237
        self.assert_(activate)
225
238
 
244
257
        testuser['password_one'] = "helloworld"
245
258
        testuser['password_again'] = "helloworld"
246
259
        testuser['subject'] = "FIN"
247
 
        
 
260
        testuser['type'] = "U1"
248
261
        testuser['interests'] = [self.eventtag.id]
249
262
        testuser['start_showflagstatus'] = True
250
263
        mycoll = Group.objects.get(official_name="Selwyn College")
254
267
        self.assert_(registerForm.is_valid())
255
268
        user, activate = registerForm.save()
256
269
        
 
270
        cambridgeform = CambridgeRegisterForm(testuser, crsid = testuser['crsid'])
 
271
        self.assert_(cambridgeform.is_valid())
 
272
        cambridgeform.pk = user.pk
 
273
        cambridgeform.save()
 
274
        
 
275
        user.GiveDefaults()
 
276
        
257
277
        # Requires activation
258
278
        self.assert_(activate)
259
279
        
260
280
        self.assertEquals(user.firstname, testuser['firstname'])
261
281
        self.assertEquals(user.lastname, testuser['lastname'])
262
282
        self.assertEquals(user.email, testuser['email'])
263
 
        self.assertEquals(user.crsid, testuser['crsid'])
264
 
        self.assertEquals(user.subject, testuser['subject'])
 
283
        self.assertEquals(user.person_ptr.cambridgemember.type, testuser['type'])
 
284
        self.assertEquals(user.person_ptr.cambridgemember.subject, testuser['subject'])
265
285
        self.assertEquals(bool(user.activationlinkkey), True)
266
286
        self.assertEquals(user.membershipstatus, "EP")
267
287
        self.assertEquals(len(mail.outbox), 1)