本文整理汇总了Python中silver.tests.factories.ProviderFactory类的典型用法代码示例。如果您正苦于以下问题:Python ProviderFactory类的具体用法?Python ProviderFactory怎么用?Python ProviderFactory使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ProviderFactory类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_put_provider_without_required_field
def test_put_provider_without_required_field(self):
"""
.. note::
The test does not verify each required field, because the test
test_create_provider_without_required_fields does this and since the
creation will fail the update will fail too. This is more of a
sanity test, to check if the correct view is called and if it does
what's supposed to do for at least one field.
"""
ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': 1})
new_data = {
'id': 1,
'url': 'http://testserver/providers/1/',
'email': '[email protected]',
'address_1': 'address',
'city': 'City',
'zip_code': '1',
'country': 'RO',
'flow': 'invoice',
'invoice_series': 'NSeries',
'invoice_starting_number': 2,
}
response = self.client.put(url, data=new_data)
assert response.status_code == status.HTTP_400_BAD_REQUEST
assert response.data == {'name': ['This field is required.']}
示例2: test_get_provider
def test_get_provider(self):
ProviderFactory.reset_sequence(1)
ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': 1})
response = self.client.get(url)
assert response.status_code == 200
assert response.data == {
'id': 1,
'url': 'http://testserver/providers/1/',
'name': 'Name1',
'company': 'Company1',
'flow': 'proforma',
'invoice_series': 'InvoiceSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1,
'email': '[email protected]',
'address_1': 'Address11',
'address_2': 'Address21',
'city': 'City1',
'state': 'State1',
'zip_code': '1',
'country': u'AL',
'extra': 'Extra1',
'meta': {u'something': [1, 2]}
}
示例3: test_get_providers
def test_get_providers(self):
batch_size = 40
ProviderFactory.create_batch(batch_size)
url = reverse('provider-list')
response = self.client.get(url)
full_url = None
for field in response.data:
full_url = field.get('url', None)
if full_url:
break
if full_url:
domain = full_url.split('/')[2]
full_url = full_url.split(domain)[0] + domain + url
assert response.status_code == status.HTTP_200_OK
assert response._headers['link'] == \
('Link', '<' + full_url + '?page=2; rel="next">, ' +
'<' + full_url + '?page=1; rel="first">, ' +
'<' + full_url + '?page=2; rel="last">')
response = self.client.get(url + '?page=2')
assert response.status_code == status.HTTP_200_OK
assert response._headers['link'] == \
('Link', '<' + full_url + '; rel="prev">, ' +
'<' + full_url + '?page=1; rel="first">, ' +
'<' + full_url + '?page=2; rel="last">')
示例4: test_delete_provider
def test_delete_provider(self):
ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': 1})
response = self.client.delete(url)
assert response.status_code == status.HTTP_204_NO_CONTENT
示例5: test_get_provider
def test_get_provider(self):
ProviderFactory.reset_sequence(1)
provider = ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': 1})
response = self.client.get(url)
assert response.status_code == 200
expected = {
'id': 1,
'url': 'http://testserver/providers/1/',
'name': provider.name,
'company': provider.company,
'flow': provider.flow,
'invoice_series': provider.invoice_series,
'invoice_starting_number': provider.invoice_starting_number,
'proforma_series': provider.proforma_series,
'proforma_starting_number': provider.proforma_starting_number,
'email': provider.email,
'address_1': provider.address_1,
'address_2': provider.address_2,
'city': provider.city,
'state': provider.state,
'zip_code': provider.zip_code,
'country': provider.country,
'extra': provider.extra,
'meta': {u'something': [1, 2]}
}
assert response.data == expected
示例6: test_put_provider_correctly
def test_put_provider_correctly(self):
ProviderFactory.reset_sequence(1)
provider = ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': provider.pk})
new_data = {
'id': provider.pk,
'url': 'http://testserver/providers/%s/' % provider.pk,
'name': 'TestProvider',
'company': 'TheNewCompany',
'display_email': '[email protected]',
'notification_email': '[email protected]',
'address_1': 'address',
'city': 'City',
'zip_code': '1',
'country': 'RO',
'flow': 'proforma',
'invoice_series': 'NewSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1
# TODO: add new meta JSON value
}
response = self.client.put(url, data=new_data)
assert response.status_code == status.HTTP_200_OK
assert response.data == {
'id': provider.pk,
'url': 'http://testserver/providers/%s/' % provider.pk,
'name': 'TestProvider',
'company': 'TheNewCompany',
'flow': 'proforma',
'display_email': '[email protected]',
'notification_email': '[email protected]',
'address_1': 'address',
'address_2': u'Addåress21',
'city': 'City',
'state': 'State1',
'zip_code': '1',
'country': 'RO',
'extra': 'Extra1',
'flow': 'proforma',
'invoice_series': 'NewSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1,
'meta': {u'something': [1, 2]},
'payment_processors': 'http://testserver/providers/%s/payment_processors/' % provider.pk
}
示例7: test_put_provider_correctly
def test_put_provider_correctly(self):
ProviderFactory.reset_sequence(1)
provider = ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': provider.pk})
new_data = {
'id': provider.pk,
'name': 'TestProvider',
'company': 'TheNewCompany',
'email': '[email protected]',
'address_1': 'address',
'city': 'City',
'zip_code': '1',
'country': 'RO',
'flow': 'proforma',
'invoice_series': 'NewSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1
# TODO: add new meta JSON value
}
response = self.client.put(url, data=new_data)
assert response.status_code == status.HTTP_200_OK
self_url = build_absolute_test_url(url)
assert response.data == {
'id': provider.pk,
'url': self_url,
'name': new_data['name'],
'company': new_data['company'],
'flow': provider.flow,
'email': new_data['email'],
'address_1': new_data['address_1'],
'address_2': provider.address_2,
'city': new_data['city'],
'state': provider.state,
'zip_code': new_data['zip_code'],
'country': new_data['country'],
'extra': provider.extra,
'flow': new_data['flow'],
'invoice_series': new_data['invoice_series'],
'invoice_starting_number': new_data['invoice_starting_number'],
'proforma_series': new_data['proforma_series'],
'proforma_starting_number': new_data['proforma_starting_number'],
'meta': provider.meta,
}
示例8: test_post_proforma_with_proforma_entries
def test_post_proforma_with_proforma_entries(self):
customer = CustomerFactory.create()
provider = ProviderFactory.create()
SubscriptionFactory.create()
url = reverse('proforma-list')
provider_url = build_absolute_test_url(reverse('provider-detail', [provider.pk]))
customer_url = build_absolute_test_url(reverse('customer-detail', [customer.pk]))
data = {
'provider': provider_url,
'customer': customer_url,
'series': None,
'number': None,
'currency': 'RON',
'transaction_xe_rate': 1,
'proforma_entries': [{
"description": "Page views",
"unit_price": 10.0,
"quantity": 20
}]
}
response = self.client.post(url, data=json.dumps(data),
content_type='application/json')
assert response.status_code == status.HTTP_201_CREATED
示例9: test_issue_proforma_with_custom_issue_date
def test_issue_proforma_with_custom_issue_date(self):
provider = ProviderFactory.create()
customer = CustomerFactory.create()
ProformaFactory.create(provider=provider, customer=customer)
url = reverse('proforma-state', kwargs={'pk': 1})
data = {'state': 'issued', 'issue_date': '2014-01-01'}
response = self.client.put(url, data=json.dumps(data),
content_type='application/json')
assert response.status_code == status.HTTP_200_OK
due_date = timezone.now().date() + timedelta(days=PAYMENT_DUE_DAYS)
mandatory_content = {
'issue_date': '2014-01-01',
'due_date': due_date.strftime('%Y-%m-%d'),
'state': 'issued'
}
assert response.status_code == status.HTTP_200_OK
assert all(item in response.data.items()
for item in mandatory_content.iteritems())
assert response.data.get('archived_provider', {}) != {}
assert response.data.get('archived_customer', {}) != {}
assert Invoice.objects.count() == 0
proforma = get_object_or_None(Proforma, pk=1)
示例10: test_pay_proforma_with_provided_date
def test_pay_proforma_with_provided_date(self):
provider = ProviderFactory.create()
customer = CustomerFactory.create()
proforma = ProformaFactory.create(provider=provider, customer=customer)
proforma.issue()
proforma.save()
url = reverse('proforma-state', kwargs={'pk': proforma.pk})
data = {
'state': 'paid',
'paid_date': '2014-05-05'
}
response = self.client.put(url, data=json.dumps(data), content_type='application/json')
proforma.refresh_from_db()
assert response.status_code == status.HTTP_200_OK
due_date = timezone.now().date() + timedelta(days=PAYMENT_DUE_DAYS)
mandatory_content = {
'issue_date': timezone.now().date().strftime('%Y-%m-%d'),
'due_date': due_date.strftime('%Y-%m-%d'),
'paid_date': '2014-05-05',
'state': 'paid',
'invoice': 'http://testserver/invoices/%s/' % proforma.invoice.pk
}
assert response.status_code == status.HTTP_200_OK
assert all(item in response.data.items()
for item in mandatory_content.iteritems())
invoice = Invoice.objects.all()[0]
assert proforma.invoice == invoice
assert invoice.proforma == proforma
invoice = get_object_or_None(Invoice, proforma=proforma)
示例11: test_cancel_invoice_with_provided_date
def test_cancel_invoice_with_provided_date(self):
provider = ProviderFactory.create()
customer = CustomerFactory.create()
invoice = InvoiceFactory.create(provider=provider, customer=customer)
invoice.issue()
invoice.save()
url = reverse('invoice-state', kwargs={'pk': 1})
data = {
'state': 'canceled',
'cancel_date': '2014-10-10'
}
response = self.client.put(url, data=json.dumps(data),
content_type='application/json')
assert response.status_code == status.HTTP_200_OK
due_date = timezone.now().date() + timedelta(days=PAYMENT_DUE_DAYS)
mandatory_content = {
'issue_date': timezone.now().date().strftime('%Y-%m-%d'),
'due_date': due_date.strftime('%Y-%m-%d'),
'cancel_date': '2014-10-10',
'state': 'canceled'
}
assert response.status_code == status.HTTP_200_OK
assert all(item in response.data.items()
for item in mandatory_content.iteritems())
示例12: test_pay_proforma_with_provided_date
def test_pay_proforma_with_provided_date(self):
provider = ProviderFactory.create()
customer = CustomerFactory.create()
proforma = ProformaFactory.create(provider=provider, customer=customer)
proforma.issue()
url = reverse('proforma-state', kwargs={'pk': proforma.pk})
data = {
'state': 'paid',
'paid_date': '2014-05-05'
}
response = self.client.put(url, data=json.dumps(data), content_type='application/json')
proforma.refresh_from_db()
assert response.status_code == status.HTTP_200_OK
due_date = timezone.now().date() + timedelta(days=PAYMENT_DUE_DAYS)
invoice_url = build_absolute_test_url(reverse('invoice-detail',
[proforma.related_document.pk]))
mandatory_content = {
'issue_date': timezone.now().date().strftime('%Y-%m-%d'),
'due_date': due_date.strftime('%Y-%m-%d'),
'paid_date': '2014-05-05',
'state': 'paid',
'invoice': invoice_url
}
assert response.status_code == status.HTTP_200_OK
assert all(item in list(response.data.items())
for item in mandatory_content.items())
invoice = Invoice.objects.all()[0]
assert proforma.related_document == invoice
assert invoice.related_document == proforma
示例13: test_issue_invoice_with_custom_issue_date_and_due_date
def test_issue_invoice_with_custom_issue_date_and_due_date(self):
provider = ProviderFactory.create()
customer = CustomerFactory.create()
InvoiceFactory.create(provider=provider, customer=customer)
url = reverse('invoice-state', kwargs={'pk': 1})
data = {
'state': 'issued',
'issue_date': '2014-01-01',
'due_date': '2014-01-20'
}
response = self.client.put(url, data=json.dumps(data),
content_type='application/json')
assert response.status_code == status.HTTP_200_OK
mandatory_content = {
'issue_date': '2014-01-01',
'due_date': '2014-01-20',
'state': 'issued'
}
assert response.status_code == status.HTTP_200_OK
assert all(item in response.data.items()
for item in mandatory_content.iteritems())
assert response.data.get('archived_provider', {}) != {}
assert response.data.get('archived_customer', {}) != {}
invoice = get_object_or_None(Invoice, pk=1)
示例14: test_patch_provider
def test_patch_provider(self):
ProviderFactory.reset_sequence(1)
provider = ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': provider.pk})
new_data = {
'company': 'TheNewCompany', # The changed field
'address_1': 'Address11',
'flow': 'proforma',
'invoice_series': 'InvoiceSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1,
'city': 'City1',
'zip_code': '1',
'country': u'AL',
}
response = self.client.patch(url, data=new_data)
assert response.status_code == 200
self_url = build_absolute_test_url(url)
assert response.data == {
'id': provider.pk,
'url': self_url,
'name': provider.name,
'company': new_data['company'],
'flow': new_data['flow'],
'invoice_series': new_data['invoice_series'],
'invoice_starting_number': new_data['invoice_starting_number'],
'proforma_series': new_data['proforma_series'],
'proforma_starting_number': new_data['proforma_starting_number'],
'email': provider.email,
'address_1': new_data['address_1'],
'address_2': provider.address_2,
'city': new_data['city'],
'state': provider.state,
'zip_code': new_data['zip_code'],
'country': new_data['country'],
'extra': provider.extra,
'meta': provider.meta,
}
示例15: test_patch_provider
def test_patch_provider(self):
ProviderFactory.reset_sequence(1)
provider = ProviderFactory.create()
url = reverse('provider-detail', kwargs={'pk': provider.pk})
new_data = {
'company': 'TheNewCompany', # The changed field
'address_1': 'Address11',
'flow': 'proforma',
'invoice_series': 'InvoiceSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1,
'city': 'City1',
'zip_code': '1',
'country': u'AL',
}
response = self.client.patch(url, data=new_data)
assert response.status_code == 200
assert response.data == {
'id': provider.pk,
'url': 'http://testserver/providers/%s/' % provider.pk,
'name': u'Náme1',
'company': u'TheNewCompany',
'flow': 'proforma',
'invoice_series': 'InvoiceSeries',
'invoice_starting_number': 1,
'proforma_series': 'ProformaSeries',
'proforma_starting_number': 1,
'display_email': '[email protected]',
'notification_email': '[email protected]',
'address_1': 'Address11',
'address_2': u'Addåress21',
'city': 'City1',
'state': 'State1',
'zip_code': '1',
'country': u'AL',
'extra': 'Extra1',
'meta': {u'something': [1, 2]},
'payment_processors': 'http://testserver/providers/%s/payment_processors/' % provider.pk
}