Skip to content

Commit

Permalink
Add test to signup, and disable transitions
Browse files Browse the repository at this point in the history
  • Loading branch information
Almad committed Aug 18, 2024
1 parent 6a1e312 commit 35b1eb7
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 47 deletions.
1 change: 1 addition & 0 deletions ddcz/forms/signup.py
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ class Meta:
"patron",
"supporters",
"description",
"age",
]

def clean(self):
Expand Down
26 changes: 26 additions & 0 deletions ddcz/migrations/0002_auto_20240818_1740.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Generated by Django 3.1.14 on 2024-08-18 15:40

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('ddcz', '0001_initial-post-switch-setup'),
]

operations = [
migrations.DeleteModel(
name='PutykaNeoblibene',
),
migrations.AlterModelOptions(
name='awaitingregistration',
options={'verbose_name': 'Uživatel ke schválení', 'verbose_name_plural': 'Uživatelé ke schválení'},
),
migrations.AddField(
model_name='awaitingregistration',
name='age',
field=models.IntegerField(db_column='vek', default=0),
preserve_default=False,
),
]
1 change: 1 addition & 0 deletions ddcz/models/used/users.py
Original file line number Diff line number Diff line change
Expand Up @@ -305,6 +305,7 @@ class AwaitingRegistration(models.Model):
name_family = models.CharField(max_length=40, db_column="prijmeni")
gender = models.CharField(max_length=4, db_column="pohlavi")
date = models.IntegerField(db_column="datum")
age = models.IntegerField(db_column="vek")
patron = models.IntegerField(db_column="patron")
supporters = models.IntegerField(db_column="primluvy")
salutation = models.CharField(
Expand Down
30 changes: 18 additions & 12 deletions ddcz/tests/test_ui/test_signup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from selenium.webdriver.support.ui import Select

from .cases import SeleniumTestCase, MainPage
from ddcz.models import AwaitingRegistration


class SignUpPage(Enum):
Expand All @@ -25,9 +26,7 @@ def setUp(self):
super().setUp()
self.selenium.get("%s%s" % (self.live_server_url, "/registrace/"))

self.fill_valid_data()

def fill_valid_data(self):
def fill_signup_form(self):
self.nick = "přílišžluťoučkýkůňúělďábelskéó"

self.el(SignUpPage.NICK).send_keys(self.nick)
Expand All @@ -41,19 +40,26 @@ def fill_valid_data(self):

Select(self.el(SignUpPage.GDPR)).select_by_value("T")

def test_submission(self):
# TODO: `text` does not contain the nick, and `get_css_attribute("::before") doesn't work
def assert_registration_saved(self):
self.assertEquals(
1, AwaitingRegistration.objects.filter(nick=self.nick).count()
)
awaiting_registration = AwaitingRegistration.objects.get(nick=self.nick)
self.assertEquals(self.nick, awaiting_registration.nick)
self.assertEquals(self.nick, awaiting_registration.name_given)
self.assertEquals(self.nick, awaiting_registration.name_family)
self.assertEquals(self.nick, awaiting_registration.salutation)
self.assertEquals(50, awaiting_registration.age)

# page_character_name = self.els(SignUpPage.CHARACTER_PARAGRAPHS)[0].text[
# 0 : len(self.nick)
# ]
# self.assertEquals(self.nick, page_character_name)
def test_submission(self):
self.fill_signup_form()
# wait for transition
sleep(0.1)

# This should wait implicitly in the modern selenium, but if flaky, add explicit wait
self.el(SignUpPage.POST_SUBMIT).click()

sleep(0.1)

self.assertEquals(
f"Vítej ve Městě, {self.nick}!", self.el(MainPage.MAIN_TITLE).text
)

self.assert_registration_saved()
71 changes: 36 additions & 35 deletions static/common/css/registration.css
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
#registration_page {
text-align: justify;
font-size: 1rem;
width: calc(100% - 10rem);
max-width: 1024px;
letter-spacing: 0.05em;
line-height: 1.5rem;
margin: 1rem auto;
padding: 2rem;
border-radius: 1rem;
}

#registration_page .first_paragraph{
#registration_page {
text-align: justify;
font-size: 1rem;
width: calc(100% - 10rem);
max-width: 1024px;
letter-spacing: 0.05em;
line-height: 1.5rem;
margin: 1rem auto;
padding: 2rem;
border-radius: 1rem;
}

#registration_page .first_paragraph {
text-indent: 0rem;
}

.caps {
border: 0.2rem solid var(--page_txt_color);
border-radius: 0.5rem;
float:left;
float: left;
font-size: 3.5rem;
line-height: 3.5rem;
padding: .2rem 1rem;
Expand All @@ -26,103 +26,104 @@

p.guard,
p.merchant,
p.character{
p.character {
margin-left: 3rem;
text-indent: 0rem;
}

p.guard::before,
p.merchant::before,
p.character::before{
p.character::before {
font-weight: bolder;
font-variant: small-caps;
}

p.guard::before{
p.guard::before {
content: "Strážný Enda Bhůt: ";
}

p.merchant::before{
p.merchant::before {
content: "Virga Tenson: ";
}

.ds::before{
.ds::before {
content: "\201E";
}

.ds::after{
.ds::after {
content: "\201C";
}

#registration_form input,
#registration_form select{
#registration_form select {
background: transparent;
border: none;
border-bottom: 3px solid var(--page_txt_color);
text-align: center;
}

#registration_form input[id="age"]{
#registration_form input[id="age"] {
width: 5rem;
}

#registration_form textarea{
#registration_form textarea {
margin: 0rem auto;
margin-left: 3rem;
width: calc(31% - 3rem);
}

#registration_form [id=gdpr]{
#registration_form [id=gdpr] {
text-align: left;
width: calc(100% - 10rem);
}


#registration_form span#drd{
#registration_form span#drd {
font-weight: bold;
}

#registration_form .story_break{
#registration_form .story_break {
text-indent: 0rem;
text-align: center;
}

#registration_form #after_signature{
#registration_form #after_signature {
opacity: 0;
transition: opacity 3s;
}

#registration_form #sign{
#registration_form #sign {
text-align: right;
vertical-align: middle;
}


#registration_form #signature{
#registration_form #signature {
display: inline-block;
font-family: 'Great Vibes';
font-family: 'Great Vibes', 'Arial', sans-serif;
font-size: 6rem;
line-height: 6rem;
margin: 3rem 1rem;
}

#registration_form #seal{
#registration_form #seal {
height: 12rem;
float: right;
}


#registration_form input[type=submit]{
#registration_form input[type=submit] {
width: calc(100% - 2rem);
margin: 0rem;
padding: 0.5rem 1rem;
border: 2px outset var(--page_txt_color);
transition: background-color .5s, letter-spacing 1s;
/* transition disabled for now because it breaks layout */
/* transition: background-color .5s, letter-spacing 1s; */
}

#registration_form input[type=submit]:hover{
#registration_form input[type=submit]:hover {
cursor: pointer;
background-color: rgba(255, 255, 255, 0.2);
border-style: inset;
letter-spacing: .3rem;
}
}

0 comments on commit 35b1eb7

Please sign in to comment.