Example #1
0
 def test_lowercased(self):
     request = "AbCd"
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), request.lower())
Example #2
0
 def test_blank(self):
     # The title, if blank, should default to the slug.
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "title": ""})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.title, fetched.key().name())
Example #3
0
 def test_blank(self):
     # The title, if blank, should default to the slug.
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "title": ""})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.title, fetched.key().name())
Example #4
0
 def test_multiline(self):
     user = self.login()
     app = TestApp(application)
     description = "Election Description goes Here.\nMore lines are explicitly allowed."
     response = app.post("/create", params={"slug": "abcd", "description": description})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, description)
Example #5
0
 def test_trimmed(self):
     user = self.login()
     app = TestApp(application)
     description = " Election Description goes Here\n"
     response = app.post("/create", params={"slug": "abcd", "description": description})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, description.strip())
Example #6
0
 def test_explicit(self):
     # An empty string for the public attribute is interpreted as false.
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "public": ""})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.public, False)
Example #7
0
 def test_explicit(self):
     user = self.login()
     app = TestApp(application)
     when = datetime(*(datetime.now() + timedelta(days=4, seconds=42)).timetuple()[:6])
     response = app.post("/create", params={"slug": "abcd", "closes": str(when)})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.closes, when)
Example #8
0
 def test_omitted(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create",
                         params={"title": "Yet Another Design Competition"})
     fetched = Election.all().fetch(2)
     self.assertEqual(len(fetched), 0)
Example #9
0
 def test_explicit(self):
     # An empty string for the public attribute is interpreted as false.
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "public": ""})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.public, False)
Example #10
0
 def test_trimmed(self):
     user = self.login()
     app = TestApp(application)
     title = " Election Title goes Here\n"
     response = app.post("/create", params={"slug": "abcd", "title": title})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.title, title.strip())
Example #11
0
 def test_lowercased(self):
     request = "AbCd"
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), request.lower())
Example #12
0
 def test_trimmed(self):
     user = self.login()
     app = TestApp(application)
     title = " Election Title goes Here\n"
     response = app.post("/create", params={"slug": "abcd", "title": title})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.title, title.strip())
Example #13
0
 def test_blank(self):
     # The description, if blank, should default to the slug.
     user = self.login()
     app = TestApp(application)
     default = "Created by " + user.nickname()
     response = app.post("/create", params={"slug": "abcd", "description": ""})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, default)
Example #14
0
 def test_default(self):
     # The description has something resembling a reasonable default.
     user = self.login()
     app = TestApp(application)
     default = "Created by " + user.nickname()
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, default)
Example #15
0
 def test_creation_ignored(self):
     # The save routine should ignore a submitted created parameter.
     user = self.login()
     now = datetime.now()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "created": now + timedelta(days=2)})
     fetched = Election.all().fetch(1)[0]
     self.assertAlmostEqual(fetched.created, datetime.now(), delta=timedelta(seconds=2))
Example #16
0
 def test_numbers(self):
     # Periods should be allowed, particularly in numbers.
     request = "something-1.3"
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), request)
Example #17
0
 def test_trimmed(self):
     # Spaces and hyphens should be trimmed from the ends of the slug.
     request = "-inner: "
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), "inner")
Example #18
0
 def test_punctuation(self):
     # The slug should replace punctuation with hyphens.
     request = "one and two, three/four; five"
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), "one-and-two-three-four-five")
Example #19
0
 def test_default(self):
     # The description has something resembling a reasonable default.
     user = self.login()
     app = TestApp(application)
     default = "Created by " + user.nickname()
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, default)
Example #20
0
 def test_conflict(self):
     slug = "abcd"
     Election(key_name=slug).put()
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": slug})
     fetched = Election.all().fetch(2)
     self.assertEqual(len(fetched), 1)
Example #21
0
 def test_conflict(self):
     slug = "abcd"
     Election(key_name=slug).put()
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": slug})
     fetched = Election.all().fetch(2)
     self.assertEqual(len(fetched), 1)
Example #22
0
 def test_trimmed(self):
     # Spaces and hyphens should be trimmed from the ends of the slug.
     request = "-inner: "
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), "inner")
Example #23
0
 def test_numbers(self):
     # Periods should be allowed, particularly in numbers.
     request = "something-1.3"
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), request)
Example #24
0
 def test_added(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertAlmostEqual(fetched.starts,
                            datetime.now(),
                            delta=timedelta(seconds=2))
Example #25
0
 def test_punctuation(self):
     # The slug should replace punctuation with hyphens.
     request = "one and two, three/four; five"
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": request})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.key().name(), "one-and-two-three-four-five")
Example #26
0
 def test_user_ignored(self):
     # The save routine should ignore a submitted user parameter.
     user = self.login()
     email = "*****@*****.**"
     other = User(email=email)
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "user": email})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.creator, user)
Example #27
0
 def test_user_ignored(self):
     # The save routine should ignore a submitted user parameter.
     user = self.login()
     email = "*****@*****.**"
     other = User(email=email)
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "user": email})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.creator, user)
Example #28
0
 def test_form(self):
     # The creation form should fill in the slug properly.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     slug = "abcd"
     page.form.set("slug", slug)
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.key().name(), slug)
Example #29
0
 def test_form(self):
     # The creation form should fill in the slug properly.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     slug = "abcd"
     page.form.set("slug", slug)
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.key().name(), slug)
Example #30
0
 def test_form(self):
     # The creation form should fill in the title properly.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     title = "Election Title goes Here"
     page.form.set("slug", "abcd")
     page.form.set("title", title)
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.title, title)
Example #31
0
 def test_form(self):
     # The creation form should fill in the title properly.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     title = "Election Title goes Here"
     page.form.set("slug", "abcd")
     page.form.set("title", title)
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.title, title)
Example #32
0
 def test_trimmed(self):
     user = self.login()
     app = TestApp(application)
     description = " Election Description goes Here\n"
     response = app.post("/create",
                         params={
                             "slug": "abcd",
                             "description": description
                         })
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, description.strip())
Example #33
0
 def test_form(self):
     # The creation form should fill in the description properly.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     description = "Election Description goes Here"
     page.form.set("slug", "abcd")
     page.form.set("description", description)
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, description)
Example #34
0
 def test_multiline(self):
     user = self.login()
     app = TestApp(application)
     description = "Election Description goes Here.\nMore lines are explicitly allowed."
     response = app.post("/create",
                         params={
                             "slug": "abcd",
                             "description": description
                         })
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, description)
Example #35
0
 def test_form(self):
     # The creation form should fill in the description properly.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     description = "Election Description goes Here"
     page.form.set("slug", "abcd")
     page.form.set("description", description)
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, description)
Example #36
0
 def test_form(self):
     # The creation form should have a checkbox for the public property.
     # However, it shouldn't set the approved property.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     page.form.set("slug", "abcd")
     page.form.set("public", "1")
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.public, True)
     self.assertEquals(fetched.approved, False)
Example #37
0
 def test_explicit(self):
     user = self.login()
     app = TestApp(application)
     when = datetime(*(datetime.now() +
                       timedelta(days=4, seconds=42)).timetuple()[:6])
     response = app.post("/create",
                         params={
                             "slug": "abcd",
                             "closes": str(when)
                         })
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.closes, when)
Example #38
0
 def test_blank(self):
     # The description, if blank, should default to the slug.
     user = self.login()
     app = TestApp(application)
     default = "Created by " + user.nickname()
     response = app.post("/create",
                         params={
                             "slug": "abcd",
                             "description": ""
                         })
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.description, default)
Example #39
0
 def test_form(self):
     # The creation form should have a checkbox for the public property.
     # However, it shouldn't set the approved property.
     user = self.login()
     app = TestApp(application)
     page = app.get("/create")
     page.form.set("slug", "abcd")
     page.form.set("public", "1")
     response = page.form.submit()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.public, True)
     self.assertEquals(fetched.approved, False)
Example #40
0
 def test_creation_ignored(self):
     # The save routine should ignore a submitted created parameter.
     user = self.login()
     now = datetime.now()
     app = TestApp(application)
     response = app.post("/create",
                         params={
                             "slug": "abcd",
                             "created": now + timedelta(days=2)
                         })
     fetched = Election.all().fetch(1)[0]
     self.assertAlmostEqual(fetched.created,
                            datetime.now(),
                            delta=timedelta(seconds=2))
Example #41
0
 def test_model(self):
     user = User(email="*****@*****.**")
     Election(creator = user).put()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.creator, user)
Example #42
0
 def test_added(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertAlmostEqual(fetched.starts, datetime.now(), delta=timedelta(seconds=2))
Example #43
0
 def test_checked(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "public": "1"})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.public, True)
Example #44
0
 def test_added(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertGreater(fetched.closes, datetime.now() + timedelta(days=7))
Example #45
0
 def test_user_added(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.creator, user)
Example #46
0
 def test_omitted(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"title": "Yet Another Design Competition"})
     fetched = Election.all().fetch(2)
     self.assertEqual(len(fetched), 0)
Example #47
0
 def test_empty(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": ""})
     fetched = Election.all().fetch(2)
     self.assertEqual(len(fetched), 0)
Example #48
0
 def test_checked(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd", "public": "1"})
     fetched = Election.all().fetch(1)[0]
     self.assertEqual(fetched.public, True)
Example #49
0
 def test_added(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertGreater(fetched.closes, datetime.now() + timedelta(days=7))
Example #50
0
 def test_model(self):
     user = User(email="*****@*****.**")
     Election(creator=user).put()
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.creator, user)
Example #51
0
 def test_user_added(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": "abcd"})
     fetched = Election.all().fetch(1)[0]
     self.assertEquals(fetched.creator, user)
Example #52
0
 def test_empty(self):
     user = self.login()
     app = TestApp(application)
     response = app.post("/create", params={"slug": ""})
     fetched = Election.all().fetch(2)
     self.assertEqual(len(fetched), 0)