Skip to content
Snippets Groups Projects
factories.py 1.11 KiB
Newer Older
  • Learn to ignore specific revisions
  • import os
    
    SAMPLES_PATH = os.path.dirname(os.path.abspath(__file__))
    
    
    
    class ArtistFactory(factory.django.DjangoModelFactory):
    
        name = factory.Faker('name')
    
        mbid = factory.Faker('uuid4')
    
        class Meta:
            model = 'music.Artist'
    
    
    class AlbumFactory(factory.django.DjangoModelFactory):
    
        title = factory.Faker('sentence', nb_words=3)
    
        mbid = factory.Faker('uuid4')
        release_date = factory.Faker('date')
        cover = factory.django.ImageField()
        artist = factory.SubFactory(ArtistFactory)
    
        class Meta:
            model = 'music.Album'
    
    
    class TrackFactory(factory.django.DjangoModelFactory):
    
        title = factory.Faker('sentence', nb_words=3)
    
        mbid = factory.Faker('uuid4')
        album = factory.SubFactory(AlbumFactory)
        artist = factory.SelfAttribute('album.artist')
        position = 1
    
        class Meta:
            model = 'music.Track'
    
    
    class TrackFileFactory(factory.django.DjangoModelFactory):
        track = factory.SubFactory(TrackFactory)
    
        audio_file = factory.django.FileField(
            from_path=os.path.join(SAMPLES_PATH, 'test.ogg'))