def test_make_many_method(self): """ make_many method is deprecated, so this test must be removed when the method is removed """ people = mommy.make_many(Person, quantity=5) self.assertEqual(Person.objects.count(), 5) people = mommy.make_many(Person, name="George Washington") self.assertTrue(all(p.name == "George Washington" for p in people))
def make_features(postfix, is_for_hotel): mommy.make_many( Feature, len(feature_names), name=iter(i + postfix for i in feature_names), icon=cycle( ['http://www.eghamat24.com/images/com/ic_sobhane.png', 'http://www.eghamat24.com/images/com/ic_rest.png']), is_for_hotel=is_for_hotel, is_for_room=not is_for_hotel, )
def test_provide_initial_to_many_to_many(self): from model_mommy.models import Person, Store from model_mommy import mommy employees = mommy.make_many(Person, 3) customers = mommy.make_many(Person, 20) store = mommy.make_one(Store, employees=employees, customers=customers) self.assertEqual(store.employees.count(), 3) self.assertEqual(store.customers.count(), 20) for employee in employees: store.employees.get(pk=employee.id)
def test_accept_model_as_string(self): person = mommy.make_one('model_mommy.person') self.assertTrue(isinstance(person, Person)) person = mommy.prepare_one('model_mommy.Person') self.assertTrue(isinstance(person, Person)) people = mommy.make_many('model_mommy.person') [self.assertTrue(isinstance(person, Person)) for person in people]
def test_accept_model_as_string(self): person = mommy.make_one('model_mommy.person') self.assertIsInstance(person, Person) person = mommy.prepare_one('model_mommy.Person') self.assertIsInstance(person, Person) people = mommy.make_many('model_mommy.person') [self.assertIsInstance(person, Person) for person in people]
def test_create_a_penguin_with_many_fellows(self): from model_mommy import mommy from model_mommy.models import Penguin fellows = mommy.make_many(Penguin, 10, fill_null=False) penguin = mommy.make_one(Penguin, fill_null=False, parcel=fellows) parcel_count = penguin.parcel.count() all_but_me_count = Penguin.objects.exclude(id=penguin.id).count() self.assertEqual(parcel_count, all_but_me_count)
def test_make_many_people_with_params(self): from model_mommy import mommy from model_mommy.models import Person people = mommy.make_many(Person, 3, name='Mike') for person in people: self.assertTrue(person.name, 'Mike') for person in Person.objects.all(): self.assertTrue(person.name, 'Mike')
def test_make_many_people(self): from model_mommy import mommy from model_mommy.models import Person people = mommy.make_many(Person) # make_many creates 5 instances by default self.assertEqual(len(people), 5) self.assertEqual(Person.objects.count(), 5) # only what we created is in the database for person in people: Person.objects.get(pk=person.id)
def setUp(self): #Tastypie stuff super(TestAnnotationCodesResource, self).setUp() #make some codes self.codes = mommy.make_many(AnnotationCodes, 10) self.bob_api_client = TestApiClient() self.anon_api_client = TestApiClient() # Create a user bob. self.user_bob_username = '******' self.user_bob_password = '******' self.user_bob = User.objects.create_user(self.user_bob_username, '*****@*****.**', self.user_bob_password) self.bob_api_client.client.login(username='******', password='******') #end point for the API self.annotation_code_url = '/api/dev/annotation_code/'
def test_make_many(self): people = mommy.make_many(Person, quantity=5) self.assertEqual(Person.objects.count(), 5) people = mommy.make_many(Person, name="George Washington") self.assertTrue(all(p.name == "George Washington" for p in people))
def test_returns_ordered_tasks(self): course = mommy.make_one(Course) tasks = mommy.make_many(Task, course=course) expected_qs = Task.objects.filter(course=course).order_by('position') self.assertEqual(list(expected_qs), list(course.get_tasks()))
def gen(): # UserFactory.create_batch(10) # hotel_feature_names = FeatureFactory.create_batch(10, is_for_hotel=True) # room_features = FeatureFactory.create_batch(10, is_for_room=True) # HotelFactory.create_batch(10, features=hotel_feature_names) # RoomClassFactory.create_batch(10) from model_mommy import mommy import os cwd = os.getcwd() os.chdir('/tmp/') from django.contrib.auth.models import User PASSWORD = '******' admin = User.objects.create_superuser( username='******', password=PASSWORD, email='*****@*****.**', ) names = [u'علی', u'تقی', u'نقی', u'سجاد', u'رضا'] users = [ User.objects.create_user( username=('user%i' % i), password=PASSWORD, email='*****@*****.**', first_name=names[i], last_name=names[i] + u'یان', ) for i in range(5) ] feature_names = [u'لابی', u'آسانسور', u'لاندری', u'ماهواره', u'وایفای', u'آکواریوم', u'دشویی'] def random_features(is_for_hotel): is_for_room = not is_for_hotel return random.sample(list(Feature.objects.filter(is_for_hotel=is_for_hotel, is_for_room=is_for_room)), 3) def make_features(postfix, is_for_hotel): mommy.make_many( Feature, len(feature_names), name=iter(i + postfix for i in feature_names), icon=cycle( ['http://www.eghamat24.com/images/com/ic_sobhane.png', 'http://www.eghamat24.com/images/com/ic_rest.png']), is_for_hotel=is_for_hotel, is_for_room=not is_for_hotel, ) make_features(u' هتل', True) make_features(u' اتاق', False) hotels = mommy.make_many( Hotel, 4, name=iter([u'هتل پارسیان', u'هتل هما', u'هتل استقلال', u'هتل امیرکبیر']), address=u'نرسیده به آزادی، دانشگاه شریف، دانشکده کامپیوتر، آزمایشگاه طبقه چهارم', city=cycle([u'تهران', u'اصفهان']), main_image=iter( File(open(os.path.join(settings.BASE_DIR, 'images/hotel%d.jpg' % i), 'rb')) for i in itertools.count() ), features=random_features(True), owner=iter(users), ) room_classes = [] for hotel in hotels: for i in range(6): mommy.make_one( HotelImage, hotel=hotel, caption=u'تصویر %d ام هتل' % i, image=File(open(os.path.join(settings.BASE_DIR, 'images/hotel%d.jpg' % i), 'rb')), ) for i in range(3): room_class = mommy.make_one( RoomClass, hotel=hotel, name=u'درجه ' + str(i), features=random_features(is_for_hotel=False), description=lambda: Generator(u'نمتسیب منتسب متشسیبمن شسبمت سیمبنتشسمب سمنب منستیب سنیبتنیب زنرتنسی بنیتبنسبتنس سینبسنتب سنتبنسب سنتعزرههصپثدپ ننزعیت شسمنتبی', u'منتسیب مسشتب مسشبمنسش بمنسشتبمنسش سیب سنبیتس زهعثص زپر نسع منبسشب مسشبنتسشی منبسشمنبشس منبمنسشب'.split()).generate_paragraph()[2], ) room_classes.append(room_class) r1 = mommy.make_one( ReservationOrder, user=users[0], room_class=room_classes[0], start_date=datetime.datetime(2012, 4, 7), end_date=datetime.datetime(2012, 4, 10), price=1000000, room_count=2, status=ReservationOrder.STATUS_PAID ) r2 = mommy.make_one( ReservationOrder, user=users[2], room_class=room_classes[7], start_date=datetime.datetime(2012, 8, 10), end_date=datetime.datetime(2012, 9, 10), price=2500000, room_count=3, status=ReservationOrder.STATUS_PAID ) r3 = mommy.make_one( ReservationOrder, user=users[1], room_class=room_classes[9], start_date=datetime.datetime(2012, 11, 1), end_date=datetime.datetime(2013, 12, 2), price=3500000, room_count=2, status=ReservationOrder.STATUS_PAID ) r4 = mommy.make_one( ReservationOrder, user=users[3], room_class=room_classes[11], start_date=datetime.datetime(2012, 1, 1), end_date=datetime.datetime(2013, 5, 2), price=360000, room_count=2, status=ReservationOrder.STATUS_WAITING ) r5 = mommy.make_one( ReservationOrder, user=users[4], room_class=room_classes[5], start_date=datetime.datetime(2012, 1, 1), end_date=datetime.datetime(2012, 5, 2), price=500000, room_count=2, status=ReservationOrder.STATUS_EXPIRED ) r6 = mommy.make_one( ReservationOrder, room_class=room_classes[3], user=users[3], start_date=datetime.datetime(2011, 1, 1), end_date=datetime.datetime(2012, 5, 2), price=1500000, room_count=4, status=ReservationOrder.STATUS_PAID ) peymants = mommy.make_many( Payment, 10, status=cycle(iter(ReservationOrder.CHOICES_STATUS)) ) votes = mommy.make_many( Vote, 6, reservation_order=iter([r1, r2, r3, r4, r5, r6]), stars=cycle(iter([1, 2, 2, 2, 3, 4, 5])), comment=cycle(['خوب بود ممون', 'افتضاح بود']), release_date=cycle(iter( [datetime.datetime(2012, 2, 6), datetime.datetime(2013, 5, 7), datetime.datetime(2012, 11, 20), datetime.datetime(2010, 7, 26)])) ) os.chdir(cwd)
def setUp(self): self.course = mommy.make_one(Course) mommy.make_many(Task, course=self.course) self.url = self.course.get_absolute_url()
def setUp(self): self.url = reverse('core:list_courses') mommy.make_many(Course)
def generate(): from django.contrib.auth.models import User from model_mommy import mommy admin = User.objects.create_superuser( username='******', password='******', first_name='Admin', last_name='Adminian', email='*****@*****.**', ) user_names = ['ali', 'taghi', 'naghi'] users = mommy.make_many( User, len(user_names), username=iter(user_names), first_name=iter(username.capitalize() for username in user_names), last_name=iter(username.capitalize() + 'an' for username in user_names), email=('*****@*****.**' % username for username in user_names), ) for user in users: user.set_password(user.username) user.save() topics = mommy.make_many( 'categories.Topic', 2, name=iter(['Agile', 'Scrum']), ) topics[1].parent = topics[0] topics[1].save() mommy.make_one( 'references.FilmReference', name='Daily Scrum Meeting', url= 'https://www.open.collab.net/nonav/community/swp/training/DailyScrumMeeting/DailyScrumMeeting.htm', description= """This module covers the second and most frequent meeting in the Scrum cycle. Subtopics include effective use of the taskboard, team self organization, how to incorporate varying skills on one team, the role of the ScrumMaster during Sprint Execution, pros and cons of involving the Product Owner each day, the three questions, and keeping the meeting short. The module briefly touches on the Agile engineering practices of Test Driven Development (TDD), pair programming, refactoring, and continuous integration.""") mommy.make_one( 'references.ArticleReference', name='Product Owner Checklist', url= 'https://www.scrum.org/About/All-Articles/articleType/ArticleView/articleId/736/Product-Owner-Checklist', description= """This brief checklist helps you remember the most important things to become a good Product Owner. As the Product Owner you are responsible for maximizing the value of the product and the work of the Development Team.""") mommy.make_one( 'references.ArticleReference', name='Scrum: Tactics for a Purpose', url= 'http://ullizee.wordpress.com/2013/05/14/scrum-tactics-for-a-purpose/', description="""The purpose of Scrum is to help people inspect & adapt, to provide transparency to the work being undertaken, to know reality to base decisions on, to adjust, to adapt, to change, to gain flexibility.""") mommy.make_one('references.BookReference', name='Essential Scrum', url='http://www.innolution.com/essential-scrum/', description="""Introducing Essential Scrum: A Practical Guide to the Most Popular Agile Process by Kenneth S. Rubin.""" ) mommy.make_one( 'references.SiteReference', name='Scrum Website', url='https://www.scrum.org/', description= """Scrum.org leads the evolution and maturity of Scrum to improve the profession of software development, up to the level of the enterprise agility of organizations.""" )