120 |
120 |
resp.location.startswith('http://example.net/cat/test/?mt=')
|
121 |
121 |
resp = resp.follow(status=403)
|
122 |
122 |
|
123 |
|
def test_announces():
|
124 |
|
from modules.announces import Announce, AnnounceSubscription
|
125 |
|
|
126 |
|
if not 'misc' in pub.cfg:
|
127 |
|
pub.cfg['misc'] = {}
|
128 |
|
pub.cfg['misc']['announce_themes'] = ['Foo', 'Bar']
|
129 |
|
pub.write_cfg()
|
130 |
|
|
131 |
|
announce = Announce()
|
132 |
|
announce.title = 'Hello World'
|
133 |
|
announce.text = 'Lorem ipsum...'
|
134 |
|
announce.publication_time = time.gmtime(time.time()-100000)
|
135 |
|
announce.store()
|
136 |
|
|
137 |
|
user = create_user()
|
138 |
|
app = login(get_app(pub), username='user', password='user')
|
139 |
|
resp = app.get('/announces/', status=200)
|
140 |
|
resp = resp.click('Receiving those Announces')
|
141 |
|
resp = resp.click('Email')
|
142 |
|
assert 'You are logged in but there is no email address in your profile.' in resp.body
|
143 |
|
assert 'email' in resp.form.fields
|
144 |
|
user.email = 'foo@localhost'
|
145 |
|
user.store()
|
146 |
|
resp = app.get('/announces/email', status=200)
|
147 |
|
assert 'foo@localhost' in resp.body
|
148 |
|
assert not 'email' in resp.form.fields
|
149 |
|
resp = resp.form.submit()
|
150 |
|
assert AnnounceSubscription.count() == 1
|
151 |
|
|
152 |
|
resp = app.get('/myspace/', status=200)
|
153 |
|
resp = resp.click('Edit my Subscription to Announces')
|
154 |
|
assert resp.form['themes$elementFoo'].checked
|
155 |
|
assert resp.form['themes$elementBar'].checked
|
156 |
|
resp.form['themes$elementFoo'].checked = False
|
157 |
|
resp = resp.form.submit('submit')
|
158 |
|
assert AnnounceSubscription.count() == 1
|
159 |
|
|
160 |
|
resp = app.get('/myspace/announces', status=200)
|
161 |
|
assert not resp.form['themes$elementFoo'].checked
|
162 |
|
assert resp.form['themes$elementBar'].checked
|
163 |
|
|
164 |
|
def test_agenda():
|
165 |
|
from modules.events import Event, RemoteCalendar
|
166 |
|
|
167 |
|
remote_calendar = RemoteCalendar()
|
168 |
|
remote_calendar.label = 'Remote'
|
169 |
|
remote_calendar.store()
|
170 |
|
|
171 |
|
event = Event()
|
172 |
|
event.title = 'Hello World'
|
173 |
|
event.description = 'Lorem ipsum...'
|
174 |
|
event.date_start = time.strptime('2016-09-10', '%Y-%m-%d')
|
175 |
|
event.date_end = time.strptime('2016-09-12', '%Y-%m-%d')
|
176 |
|
event.store()
|
177 |
|
|
178 |
|
app = get_app(pub)
|
179 |
|
resp = app.get('/agenda/', status=200)
|
180 |
|
resp = app.get('/agenda/filter')
|
181 |
|
assert 'tags$element0' in resp.form.fields
|
182 |
|
assert 'calendars$element0' in resp.form.fields
|
183 |
|
|
184 |
123 |
def test_form_category_redirection():
|
185 |
124 |
Category.wipe()
|
186 |
125 |
cat = Category(name='baz')
|
187 |
|
-
|