def test_update_language(self):
     "Should update a language with data given by post"
     self._mock_logged_in(times = 2)
     data = { 'name' : u'Javascript' }
     response = self.client.post('/admin/languages/%s' % self.language.slug, data = data, follow_redirects = True)
     language = ProgrammingLanguage.all().filter('slug =', self.language.slug).get()
     assert_equals(language.name, 'Javascript')
 def test_delete_a_language(self):
     "Should delete a language on URL /admin/languages/<slug>/delete"
     self._mock_logged_in()
     language = ProgrammingLanguage(name = u'C++')
     language.put()
     slug = language.slug
     self.client.get('/admin/languages/%s/delete' % slug)
     language = ProgrammingLanguage.all().filter('slug = ', slug).get()
     assert_equals(language, None)
示例#3
0
def update_language(slug):
    form = LanguageForm()
    language = ProgrammingLanguage.all().filter('slug =', slug).get()
    if form.validate_on_submit():
        language.name = form.name.data
        language.put()
        flash('Programming language "%s" updated.' %language.name)
        return redirect(url_for('list_languages'))
    return render_template('admin/languages/edit.html', form=form, language=language)
 def test_create_language_with_right_data(self):
     "Should create a language given data by post"
     from labs.util import slugify
     language_name = u'Haskell'
     language_slug = slugify(language_name)
     self._mock_logged_in(times = 2)
     data = { 'name' : language_name }
     response = self.client.post('/admin/languages', data = data, follow_redirects = True)
     from labs.models import ProgrammingLanguage
     language = ProgrammingLanguage.all().filter('slug =', language_slug).get()
     assert_equals(language.name, language_name)
 def test_create_a_unique_slug_to_a_duplicated_programming_language_name(self):
     "Should generate a new slug to a duplicated programming language"
     from labs.util import slugify
     language_name = u'Haskell'
     language_slug = slugify(language_name) + '-1'
     self._mock_logged_in(times = 4)
     data = { 'name' : language_name }
     response = self.client.post('/admin/languages', data = data, follow_redirects = True)
     response = self.client.post('/admin/languages', data = data, follow_redirects = True)
     from labs.models import ProgrammingLanguage
     language = ProgrammingLanguage.all().filter('slug =', language_slug).get()
     assert_equals(language.name, language_name)
示例#6
0
def list_languages():
    languages = ProgrammingLanguage.all().order('name')
    return render_template('admin/languages/list.html', languages=languages)
示例#7
0
def delete_language(slug):
    language = ProgrammingLanguage.all().filter('slug = ', slug).get()
    language.delete()
    flash('Language successful deleted.')
    return redirect(url_for('list_languages'))
示例#8
0
def edit_language(slug):
    language = ProgrammingLanguage.all().filter('slug = ', slug).get()
    form = LanguageForm()
    form.name.data = language.name
    return render_template('admin/languages/edit.html', form=form, language=language)