예제 #1
0
    def test_reupload(self, save_persona_image_mock,
                      create_persona_preview_images_mock,
                      make_checksum_mock):
        make_checksum_mock.return_value = 'checksumbeforeyouwrecksome'
        data = self.get_dict(header_hash='y0l0', footer_hash='abab')
        self.form = EditThemeForm(data, request=self.request,
                                  instance=self.instance)
        eq_(self.form.is_valid(), True)
        self.form.save()

        dst = os.path.join(user_media_path('addons'), str(self.instance.id))
        header_src = os.path.join(settings.TMP_PATH, 'persona_header',
                                  u'y0l0')
        footer_src = os.path.join(settings.TMP_PATH, 'persona_footer',
                                  u'abab')

        eq_(save_persona_image_mock.mock_calls,
            [mock.call(src=header_src,
                       full_dst=os.path.join(dst, 'pending_header.png')),
             mock.call(src=footer_src,
                       full_dst=os.path.join(dst, 'pending_footer.png'))])

        rqt = RereviewQueueTheme.objects.filter(theme=self.instance.persona)
        eq_(rqt.count(), 1)
        eq_(rqt[0].header, 'pending_header.png')
        eq_(rqt[0].footer, 'pending_footer.png')
        assert not rqt[0].dupe_persona
예제 #2
0
    def save_success(self):
        other_cat = Category.objects.create(type=amo.ADDON_PERSONA)
        self.data = {
            'accentcolor': '#EFF0FF',
            'category': other_cat.id,
            'license': amo.LICENSE_CC_BY_NC_SA.id,
            'slug': 'swag-lifestyle',
            'tags': 'ag',
            'textcolor': '#CACACA',

            'name_en-us': 'All Day I Dream About Swag',
            'description_en-us': 'ADIDAS',
        }
        self.form = EditThemeForm(self.data, request=self.request,
                                  instance=self.instance)

        # Compare form initial data with post data.
        eq_data = self.get_dict()
        for k in [k for k in self.form.initial.keys()
                  if k not in ['name', 'description']]:
            eq_(self.form.initial[k], eq_data[k])

        eq_(self.form.data, self.data)
        eq_(self.form.is_valid(), True, self.form.errors)
        self.form.save()
예제 #3
0
 def test_localize_name_description(self):
     data = self.get_dict(name_de='name_de',
                          description_de='description_de')
     self.form = EditThemeForm(data, request=self.request,
                               instance=self.instance)
     eq_(self.form.is_valid(), True, self.form.errors)
     self.form.save()
예제 #4
0
    def test_reupload_legacy_header_only(self):
        """
        STR the bug this test fixes:

        - Reupload a legacy theme (/w footer == leg.png) legacy, header only.
        - The header would get saved as 'pending_header.png'.
        - The footer would get saved as 'footer.png'.
        - On approving, it would see 'footer.png' !== 'leg.png'
        - It run move_stored_file('footer.png', 'leg.png').
        - But footer.png does not exist. BAM BUG.
        """
        self.theme.header = 'Legacy-header3H.png'
        self.theme.footer = 'Legacy-footer3H-Copy.jpg'
        self.theme.save()

        data = self.get_dict(header_hash='arthro')
        self.form = EditThemeForm(data,
                                  request=self.request,
                                  instance=self.instance)
        eq_(self.form.is_valid(), True)
        self.form.save()

        rqt = RereviewQueueTheme.objects.get()
        eq_(rqt.header, 'pending_header.png')
        eq_(rqt.footer, 'Legacy-footer3H-Copy.jpg')
예제 #5
0
    def test_initial(self):
        self.form = EditThemeForm(None, request=self.request,
                                  instance=self.instance)

        # Compare form initial data with post data.
        eq_data = self.get_dict()
        for k in [k for k in self.form.initial.keys()
                  if k not in ['name', 'description']]:
            eq_(self.form.initial[k], eq_data[k])
예제 #6
0
파일: test_forms.py 프로젝트: flyun/zamboni
 def test_name_unique(self):
     data = self.get_dict(name='Bands Make You Dance')
     Addon.objects.create(type=amo.ADDON_PERSONA,
         status=amo.STATUS_PUBLIC, name=data['name'])
     self.form = EditThemeForm(data, request=self.request,
                               instance=self.instance)
     eq_(self.form.is_valid(), False)
     eq_(self.form.errors,
         {'name': ['This name is already in use. Please choose another.']})
예제 #7
0
    def test_reupload_duplicate(self, make_checksum_mock):
        make_checksum_mock.return_value = 'checksumbeforeyouwrecksome'

        theme = amo.tests.addon_factory(type=amo.ADDON_PERSONA)
        theme.persona.checksum = 'checksumbeforeyouwrecksome'
        theme.persona.save()

        data = self.get_dict(header_hash='head', footer_hash='foot')
        self.form = EditThemeForm(data, request=self.request,
                                  instance=self.instance)
        eq_(self.form.is_valid(), True)
        self.form.save()

        rqt = RereviewQueueTheme.objects.get(theme=self.instance.persona)
        eq_(rqt.dupe_persona, theme.persona)
예제 #8
0
파일: test_forms.py 프로젝트: flyun/zamboni
 def save_success(self):
     other_cat = Category.objects.create(type=amo.ADDON_PERSONA)
     self.data = {
         'accentcolor': '#EFF0FF',
         'category': other_cat.id,
         'license': amo.LICENSE_CC_BY_NC_SA.id,
         'name': 'All Day I Dream About Swag',
         'slug': 'swag-lifestyle',
         'summary': 'ADIDAS',
         'tags': 'ag',
         'textcolor': '#CACACA'
     }
     self.form = EditThemeForm(self.data, request=self.request,
                               instance=self.instance)
     eq_(self.form.initial, self.get_dict())
     eq_(self.form.data, self.data)
     eq_(self.form.is_valid(), True, self.form.errors)
     self.form.save()
예제 #9
0
파일: test_forms.py 프로젝트: flyun/zamboni
 def test_initial(self):
     self.form = EditThemeForm(None, request=self.request,
                               instance=self.instance)
     eq_(self.form.initial, self.get_dict())