Commit a2b00507 by Adam Stankiewicz

add enrollment code SKU in Seat model, modify ecommerce data loader to get enrollment codes

parent 1efd2cbd
......@@ -387,6 +387,7 @@ class SeatSerializer(serializers.ModelSerializer):
credit_provider = serializers.CharField()
credit_hours = serializers.IntegerField()
sku = serializers.CharField()
bulk_sku = serializers.CharField()
@classmethod
def prefetch_queryset(cls):
......@@ -394,7 +395,7 @@ class SeatSerializer(serializers.ModelSerializer):
class Meta(object):
model = Seat
fields = ('type', 'price', 'currency', 'upgrade_deadline', 'credit_provider', 'credit_hours', 'sku',)
fields = ('type', 'price', 'currency', 'upgrade_deadline', 'credit_provider', 'credit_hours', 'sku', 'bulk_sku')
class CourseEntitlementSerializer(serializers.ModelSerializer):
......
......@@ -1117,7 +1117,8 @@ class SeatSerializerTests(TestCase):
'upgrade_deadline': json_date_format(seat.upgrade_deadline),
'credit_provider': seat.credit_provider, # pylint: disable=no-member
'credit_hours': seat.credit_hours, # pylint: disable=no-member
'sku': seat.sku
'sku': seat.sku,
'bulk_sku': seat.bulk_sku
}
self.assertDictEqual(serializer.data, expected)
......
......@@ -231,6 +231,23 @@ ECOMMERCE_API_BODIES = [
"partner_sku": "sku003",
}
]
},
{
"structure": "standalone",
"expires": "2017-01-01T12:00:00Z",
"attribute_values": [
{
"code": "seat_type",
"value": "verified"
}
],
"stockrecords": [
{
"price_currency": "EUR",
"price_excl_tax": "25.00",
"partner_sku": "sku004"
}
]
}
]
},
......@@ -255,7 +272,7 @@ ECOMMERCE_API_BODIES = [
{
"price_currency": "USD",
"price_excl_tax": "0.00",
"partner_sku": "sku004",
"partner_sku": "sku005",
}
]
},
......@@ -272,7 +289,7 @@ ECOMMERCE_API_BODIES = [
{
"price_currency": "USD",
"price_excl_tax": "25.00",
"partner_sku": "sku005",
"partner_sku": "sku006",
}
]
},
......@@ -301,7 +318,7 @@ ECOMMERCE_API_BODIES = [
{
"price_currency": "USD",
"price_excl_tax": "250.00",
"partner_sku": "sku006",
"partner_sku": "sku007",
}
]
},
......@@ -330,7 +347,7 @@ ECOMMERCE_API_BODIES = [
{
"price_currency": "USD",
"price_excl_tax": "250.00",
"partner_sku": "sku007",
"partner_sku": "sku008",
}
]
}
......@@ -355,7 +372,7 @@ ECOMMERCE_API_BODIES = [
{
"price_currency": "123",
"price_excl_tax": "0.00",
"partner_sku": "sku008",
"partner_sku": "sku009",
}
]
}
......@@ -380,7 +397,7 @@ ECOMMERCE_API_BODIES = [
{
"price_currency": "USD",
"price_excl_tax": "0.00",
"partner_sku": "sku009",
"partner_sku": "sku010",
}
]
}
......
# -*- coding: utf-8 -*-
# Generated by Django 1.11.3 on 2018-03-09 19:38
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('course_metadata', '0079_enable_program_default_true'),
]
operations = [
migrations.AddField(
model_name='seat',
name='bulk_sku',
field=models.CharField(blank=True, max_length=128, null=True),
),
]
......@@ -832,6 +832,7 @@ class Seat(TimeStampedModel):
credit_provider = models.CharField(max_length=255, null=True, blank=True)
credit_hours = models.IntegerField(null=True, blank=True)
sku = models.CharField(max_length=128, null=True, blank=True)
bulk_sku = models.CharField(max_length=128, null=True, blank=True)
class Meta(object):
unique_together = (
......
......@@ -155,6 +155,7 @@ class SeatFactory(factory.DjangoModelFactory):
currency = factory.Iterator(Currency.objects.all())
upgrade_deadline = FuzzyDateTime(datetime.datetime(2014, 1, 1, tzinfo=UTC))
sku = FuzzyText(length=8)
bulk_sku = FuzzyText(length=8)
course_run = factory.SubFactory(CourseRunFactory)
class Meta:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment