コード例 #1
0
 def test_repeated_saves_dont_explode(self):
     # saving the same data multiple times should not increase the size of the set.
     
     postdata = self._generate_post_data(self.pdm)
     postdata['1_1-1-entry'] = 'testing' # change something
     postdata['1_1-TOTAL_FORMS'] = u'2'
     
     for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
         saved = save_pronoun_formset(self.pdm, pronoun, formset, self.editor)
         saved = save_pronoun_formset(self.pdm, pronoun, formset, self.editor)
         saved = save_pronoun_formset(self.pdm, pronoun, formset, self.editor)
     
     # should now have 4 lexical items
     assert Lexicon.objects.count() == 4, "expecting 4"
     
     # CHECK VALUES....
     for pron in self.pdm.pronoun_set.all():
         entries = pron.entries.all().order_by('id')
         
         if pron.id == 1:
             assert len(entries) == 2
             assert entries[0].entry == 'pron-{0}'.format(pron.id)
             assert entries[0].annotation == 'ann-{0}'.format(pron.id)
             # the new lexical entry!
             assert entries[1].entry == 'testing'
             assert entries[1].annotation == ''
         else:
             assert len(entries) == 1
             assert entries[0].entry == 'pron-{0}'.format(pron.id)
             assert entries[0].annotation == 'ann-{0}'.format(pron.id)
コード例 #2
0
    def test_save_with_addition(self):
        postdata = self._generate_post_data(self.pdm)
        postdata['1_1-1-entry'] = 'testing'  # change something
        postdata['1_1-TOTAL_FORMS'] = u'2'

        for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
            save_pronoun_formset(self.pdm, pronoun, formset, self.editor)

        # should now have 4 lexical items
        assert Lexicon.objects.count() == 4, "expecting 4"

        # CHECK VALUES....
        for pron in self.pdm.pronoun_set.all():
            entries = pron.entries.all().order_by('id')

            if pron.id == 1:
                assert len(entries) == 2
                assert entries[0].entry == 'pron-{0}'.format(pron.id)
                assert entries[0].annotation == 'ann-{0}'.format(pron.id)
                # the new lexical entry!
                assert entries[1].entry == 'testing'
                assert entries[1].annotation == ''
            else:
                assert len(entries) == 1
                assert entries[0].entry == 'pron-{0}'.format(pron.id)
                assert entries[0].annotation == 'ann-{0}'.format(pron.id)
コード例 #3
0
    def test_save(self):
        postdata = self._generate_post_data(self.pdm)

        for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
            save_pronoun_formset(self.pdm, pronoun, formset, self.editor)

        assert Lexicon.objects.count() == 3, "expecting 3"
コード例 #4
0
    def test_save_with_update(self):
        postdata = self._generate_post_data(self.pdm)
        postdata['1_1-0-entry'] = 'testing'  # change something

        for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
            save_pronoun_formset(self.pdm, pronoun, formset, self.editor)

        # should still only have 3 lexical items
        assert Lexicon.objects.count() == 3, "expecting 3"

        # ...but the form of pk 1 should have changed..
        lex = Lexicon.objects.get(pk=1)
        assert lex.entry == 'testing'
コード例 #5
0
 def test_save(self):
     postdata = self._generate_post_data(self.pdm)
     
     for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
         saved = save_pronoun_formset(self.pdm, pronoun, formset, self.editor)
     
     assert Lexicon.objects.count() == 3, "expecting 3"
コード例 #6
0
ファイル: views.py プロジェクト: SimonGreenhill/language5
def edit(request, paradigm_id):
    pdm = get_object_or_404(Paradigm, pk=paradigm_id)
    paradigm_form = ParadigmForm(request.POST or None, instance=pdm, prefix='pdm')
    pronoun_form = create_pronoun_formset(pdm, request.POST or None)
    
    # save if valid.
    if pronoun_formsets_are_valid(pronoun_form) and paradigm_form.is_valid():
        pdm = paradigm_form.save(commit=False)
        pdm.editor = request.user
        pdm.save()
        for pronoun, formset in pronoun_form:
            save_pronoun_formset(pdm, pronoun, formset, request.user)
        return redirect('pronouns:detail', paradigm_id=pdm.id)
        
    # the initial view and the error view
    return render_to_response('pronouns/edit.html', {
        'paradigm': pdm,
        'paradigm_form': paradigm_form,
        'pronouns': sort_formset(pronoun_form),
    }, context_instance=RequestContext(request))
コード例 #7
0
 def test_save_with_update(self):
     postdata = self._generate_post_data(self.pdm)
     postdata['1_1-0-entry'] = 'testing' # change something
     
     for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
         saved = save_pronoun_formset(self.pdm, pronoun, formset, self.editor)
     
     # should still only have 3 lexical items
     assert Lexicon.objects.count() == 3, "expecting 3"
     
     # ...but the form of pk 1 should have changed..
     lex = Lexicon.objects.get(pk=1)
     assert lex.entry == 'testing'
コード例 #8
0
ファイル: views.py プロジェクト: SimonGreenhill/language5
def edit(request, paradigm_id):
    pdm = get_object_or_404(Paradigm, pk=paradigm_id)
    paradigm_form = ParadigmForm(request.POST or None,
                                 instance=pdm,
                                 prefix='pdm')
    pronoun_form = create_pronoun_formset(pdm, request.POST or None)
    # save if valid.
    if pronoun_formsets_are_valid(pronoun_form) and paradigm_form.is_valid():
        pdm = paradigm_form.save(commit=False)
        pdm.editor = request.user
        pdm.save()
        for pronoun, formset in pronoun_form:
            save_pronoun_formset(pdm, pronoun, formset, request.user)
        return redirect('pronouns:detail', paradigm_id=pdm.id)

    # the initial view and the error view
    return render(
        request, 'pronouns/edit.html', {
            'paradigm': pdm,
            'paradigm_form': paradigm_form,
            'pronouns': sort_formset(pronoun_form),
        })
コード例 #9
0
 def test_save_with_delete(self):
     postdata = self._generate_post_data(self.pdm)
     postdata['1_1-0-entry'] = u''
     
     for pronoun, formset in create_pronoun_formset(self.pdm, postdata):
         saved = save_pronoun_formset(self.pdm, pronoun, formset, self.editor)
         
     # should now have 2 lexical items
     assert Lexicon.objects.count() == 2, "expecting 2"
     # should have an empty pronoun set for pronoun 1
     assert Pronoun.objects.get(pk=1).entries.count() == 0
     # should have deleted the lexical object 1
     with self.assertRaises(Lexicon.DoesNotExist):
         assert Lexicon.objects.get(pk=1)