def test_rereview(self, client): client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123} form = forms_payments.BangoAccountListForm( data={'accounts': self.account.pk}, **self.kwargs) assert form.is_valid(), form.errors form.save() eq_(self.addon.status, amo.STATUS_PUBLIC) eq_(RereviewQueue.objects.count(), 1) form = forms_payments.BangoAccountListForm(None, **self.kwargs) assert form.fields['accounts'].empty_label == None
def test_with_owner_account(self, client): self.setup_mock(client) user = self.user account = self.create_user_account(user) assert self.is_owner(user) form = forms_payments.BangoAccountListForm( data={'accounts': account.pk}, user=user, **self.kwargs) eq_(form.current_payment_account, None) assert form.is_valid(), form.errors form.save() form = forms_payments.BangoAccountListForm(None, user=user, **self.kwargs) eq_(form.fields['accounts'].widget.attrs.get('disabled'), None) eq_(form.fields['accounts'].empty_label, None) eq_(form.initial['accounts'], account)
def test_with_other_owner_account_existing_account(self, client): self.setup_mock(client) owner_account = self.associate_owner_account() user = self.other account = self.create_user_account(user) self.make_owner(user) assert self.is_owner(user) form = forms_payments.BangoAccountListForm( data={'accounts': account.pk}, user=user, **self.kwargs) eq_(form.current_payment_account, owner_account) assert form.is_valid(), form.errors form.save() form = forms_payments.BangoAccountListForm(None, user=user, **self.kwargs) eq_(form.fields['accounts'].empty_label, None) eq_(form.initial['accounts'], account) assert form.current_payment_account is None
def test_set_shared_account(self, client): self.setup_mock(client) shared = self.create_user_account(self.other, shared=True) form = forms_payments.BangoAccountListForm( data={'accounts': shared.pk}, user=self.user, **self.kwargs) assert form.is_valid() form.save() eq_(self.addon.app_payment_account.payment_account.pk, shared.pk)
def test_with_shared_account(self, client): self.setup_mock(client) account = self.create_user_account(self.user) shared = self.create_user_account(self.other, shared=True) form = forms_payments.BangoAccountListForm(user=self.user, **self.kwargs) self.assertSetEqual(form.fields['accounts'].queryset, (account, shared))
def associate_owner_account(self, client): self.setup_mock(client) owner_account = self.create_user_account(self.user) form = forms_payments.BangoAccountListForm( data={'accounts': owner_account.pk}, user=self.user, **self.kwargs) assert form.is_valid(), form.errors form.save() return owner_account
def test_with_owner_account(self, client): user = self.user account = self.create_user_account(user) assert self.is_owner(user) client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123} form = forms_payments.BangoAccountListForm( data={'accounts': account.pk}, user=user, **self.kwargs) eq_(form.current_payment_account, None) assert form.is_valid(), form.errors form.save() form = forms_payments.BangoAccountListForm(None, user=user, **self.kwargs) eq_(form.fields['accounts'].widget.attrs.get('disabled'), None) eq_(form.fields['accounts'].empty_label, None) eq_(form.initial['accounts'], account)
def test_admin_account_empty_string(self, client): self.setup_mock(client) self.associate_owner_account() user = self.admin assert not self.is_owner(user) form = forms_payments.BangoAccountListForm( data={'accounts': ''}, user=user, **self.kwargs) assert form.fields['accounts'].widget.attrs['disabled'] is not None assert not form.is_valid(), form.errors
def test_with_non_owner_admin_account(self, client): self.setup_mock(client) user = self.admin account = self.create_user_account(user) assert not self.is_owner(user) form = forms_payments.BangoAccountListForm( data={'accounts': account.pk}, user=user, **self.kwargs) eq_(form.current_payment_account, None) assert form.fields['accounts'].widget.attrs['disabled'] is not None assert not form.is_valid(), form.errors
def associate_owner_account(self, client): client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123} owner_account = self.create_user_account(self.user) form = forms_payments.BangoAccountListForm( data={'accounts': owner_account.pk}, user=self.user, **self.kwargs) assert form.is_valid(), form.errors form.save() return owner_account
def test_norereview(self, client): client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123} self.addon.update(highest_status=amo.STATUS_PENDING) form = forms_payments.BangoAccountListForm( data={'accounts': self.account.pk}, **self.kwargs) assert form.is_valid(), form.errors form.save() eq_(self.addon.status, amo.STATUS_PENDING) eq_(RereviewQueue.objects.count(), 0)
def test_disagreed_tos_rereview(self, client): self.account.update(agreed_tos=False) client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123} form = forms_payments.BangoAccountListForm( data={'accounts': self.account.pk}, **self.kwargs) assert not form.is_valid() eq_(form.errors['accounts'], ['Select a valid choice. That choice is not one of the available ' 'choices.'])
def test_with_non_owner_admin_account(self, client): user = self.admin account = self.create_user_account(user) assert not self.is_owner(user) client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123} form = forms_payments.BangoAccountListForm( data={'accounts': account.pk}, user=user, **self.kwargs) eq_(form.current_payment_account, None) assert form.fields['accounts'].widget.attrs['disabled'] is not None assert not form.is_valid(), form.errors
def test_admin_account_empty_string(self, client): self.associate_owner_account() user = self.admin assert not self.is_owner(user) client.get_product.return_value = {'meta': {'total_count': 0}} client.post_product.return_value = {'resource_uri': 'gpuri'} client.get_product_bango.return_value = {'meta': {'total_count': 0}} client.post_product_bango.return_value = { 'resource_uri': 'bpruri', 'bango_id': 123 } form = forms_payments.BangoAccountListForm(data={'accounts': ''}, user=user, **self.kwargs) assert form.fields['accounts'].widget.attrs['disabled'] is not None assert not form.is_valid(), form.errors