コード例 #1
0
 def test_delete_list(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(
         start_day_of_week=-1, days_to_display=7)
     a = push_dummy_user('a', 'a')
     b = push_dummy_user('b', 'b')
     list_ = push_dummy_list(a, 'list_')
     d = list_.get_or_create_days()
     e = Entry(day_id=d[0].id)
     ls = ListSettings(list_id=list_.id, user_id=a.id)
     s = ListPermission(
         list_id=list_.id, permission_level='member', user_id=b.id)
     db.session.add_all([e, ls, s])
     db.session.commit()
     self.assertEqual(List.query.first(), list_)
     self.assertEqual(Entry.query.first(), e)
     self.assertEqual(Day.query.first(), d[0])
     self.assertEqual(ListSettings.query.first(), ls)
     self.assertEqual(ListPermission.query.filter_by(
         user_id=b.id).first(), s)
     db.session.delete(list_)
     db.session.commit()
     self.assertEqual(List.query.first(), None)
     self.assertEqual(Entry.query.first(), None)
     self.assertEqual(Day.query.first(), None)
     self.assertEqual(ListSettings.query.first(), None)
     self.assertEqual(ListPermission.query.first(), None)
コード例 #2
0
 def test_repr_listsettings(self):
     a = push_dummy_user('a', 'a')
     list_ = push_dummy_list(a, 'list_')
     ls = ListSettings(list_id=list_.id, user_id=a.id)
     db.session.add(ls)
     db.session.commit()
     self.assertEqual(ls.__repr__(),
                      '<ListSettings 1 of List list_ for User a>')
コード例 #3
0
 def test_get_start_day(self, patched_current_user):
     u = push_dummy_user()
     patched_current_user.return_value = u
     list_with_minus_one = push_dummy_list(u, 'List')
     list_with_five = push_dummy_list(u, 'List')
     a = ListSettings(list_id=list_with_minus_one.id,
                      user_id=u.id, start_day_of_week=-1)
     b = ListSettings(list_id=list_with_five.id,
                      user_id=u.id, start_day_of_week=5)
     db.session.add_all([a, b])
     db.session.commit()
     c = 5 - date.today().weekday() if 5 - date.today().weekday() <= 0 else 5 - \
         date.today().weekday() - 7
     self.assertEqual(list_with_minus_one.get_start_day(), 0)
     self.assertEqual(list_with_five.get_start_day(), c)
コード例 #4
0
 def test_delete_user(self):
     a = push_dummy_user('a', 'a')
     b = push_dummy_user('b', 'b')
     list_ = push_dummy_list(a, 'list_')
     d = list_.get_or_create_days()
     e = Entry(day_id=d[0].id)
     ls = ListSettings(list_id=list_.id, user_id=a.id)
     s = ListPermission(list_id=list_.id, user_id=b.id)
     db.session.add_all([e, ls, s])
     db.session.commit()
     self.assertEqual(User.query.first(), a)
     self.assertEqual(List.query.first(), list_)
     self.assertEqual(Entry.query.first(), e)
     self.assertEqual(Day.query.first(), d[0])
     self.assertEqual(ListSettings.query.first(), ls)
     self.assertEqual(ListPermission.query.filter_by(
         user_id=b.id).first(), s)
     db.session.delete(a)
     db.session.commit()
     self.assertEqual(User.query.first(), b)
     self.assertEqual(List.query.first(), None)
     self.assertEqual(Entry.query.first(), None)
     self.assertEqual(Day.query.first(), None)
     self.assertEqual(ListSettings.query.first(), None)
     self.assertEqual(ListPermission.query.filter_by(
         user_id=a.id).first(), None)
コード例 #5
0
 def test_repr_day(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(
         start_day_of_week=-1, days_to_display=7)
     a = push_dummy_user('a', 'a')
     list_ = push_dummy_list(a, 'list_')
     d = list_.get_or_create_days()[0]
     self.assertEqual(
         d.__repr__(), '<Day {} of List list_>'.format(d.day))
コード例 #6
0
 def test_list_get_settings_for_user(self):
     a = push_dummy_user('a', 'a')
     b = push_dummy_user('b', 'b')
     list_ = push_dummy_list(a, 'list_')
     ls = ListSettings(list_id=list_.id, user_id=a.id,
                       start_day_of_week=6, days_to_display=21)
     db.session.add(ls)
     db.session.commit()
     self.assertEqual(list_.get_settings_for_user(a), ls)
     self.assertTrue(list_.get_settings_for_user(b).start_day_of_week == -1)
     self.assertTrue(list_.get_settings_for_user(b).days_to_display == 7)
コード例 #7
0
 def test_repr_entry(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(start_day_of_week=-1,
                                                   days_to_display=7)
     a = push_dummy_user('a', 'a')
     list_ = push_dummy_list(a, 'list_')
     d = list_.get_or_create_days()[0]
     e = Entry(day_id=d.id)
     db.session.add(e)
     db.session.commit()
     self.assertEqual(e.__repr__(),
                      '<Entry 1 of Day {} in List list_>'.format(d.day))
コード例 #8
0
 def test_day_to_dict(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(
         start_day_of_week=-1, days_to_display=7)
     u = push_dummy_user()
     list_ = push_dummy_list(u, 'list_')
     day_1 = list_.get_or_create_days()[0]
     self.assertEqual(day_1.to_dict(), {
         'day': date.today().isoformat(),
         'id': 1,
         'entries': [e.id for e in day_1.entries]
     })
コード例 #9
0
 def test_get_or_create_entries(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(
         start_day_of_week=-1, days_to_display=7)
     u = push_dummy_user()
     list_ = push_dummy_list(u, 'list_')
     day_1 = list_.get_or_create_days()[0]
     self.assertTrue(len(day_1.get_or_create_entries()) == 2)
     meal = Meal(name='test', list_id=list_.id, order=2)
     db.session.add(meal)
     db.session.commit()
     self.assertTrue(len(day_1.get_or_create_entries()) == 3)
コード例 #10
0
 def test_entry_to_dict(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(start_day_of_week=-1,
                                                   days_to_display=7)
     u = push_dummy_user()
     list_ = push_dummy_list(u, 'List')
     day = list_.get_or_create_days()[0]
     entry = day.get_or_create_entries()[0]
     self.assertEqual(entry.to_dict(), {
         'key': 'Lunch',
         'id': 1,
         'value': ''
     })
コード例 #11
0
 def test_get_or_create_days(self, mock_get_settings):
     mock_get_settings.return_value = ListSettings(
         start_day_of_week=-1, days_to_display=7)
     u = push_dummy_user()
     list_ = push_dummy_list(u, 'list_')
     c = push_dummy_list(u, 'c')
     self.assertTrue(len(list_.get_or_create_days()) == 7)
     now = date.today()
     days = []
     for i in range(0, 7):
         delta = timedelta(days=i)
         day = Day(list_id=c.id, day=now+delta)
         days.append(day)
         db.session.add(day)
     db.session.commit()
     c_days = c.get_or_create_days()
     self.assertEqual(c_days, days)
コード例 #12
0
 def test_list_to_dict(self, patched_current_user, mock_get_settings):
     u = push_dummy_user()
     mock_get_settings.return_value = ListSettings(
         start_day_of_week=-1, days_to_display=7)
     patched_current_user.return_value = u
     list_ = push_dummy_list(u, 'List')
     dict_ = list_.to_dict()
     self.assertEqual(dict_, {
         'name': 'List',
         'id': 1,
         'days': [
             1, 2, 3, 4, 5, 6, 7
         ],
         'settings': {
             'start_day_of_week': 'Today',
             'days_to_display': 7
         },
         'shares': [1],
         'is_owner': True,
         'meals': [1, 2],
         'foods': [],
         'categories': []
     })
コード例 #13
0
    def test_get_days_start_today(self):
        u = push_dummy_user()
        push_dummy_list(u, 'TestyList')
        with self.test_client:
            self.login(u.username)
            list_ = List.query.first()
            appropriate_start_day = 5 if not date.today().weekday() == 5 else 3
            db.session.add(
                ListSettings(list_id=list_.id,
                             user_id=u.id,
                             start_day_of_week=appropriate_start_day,
                             days_to_display=10))
            db.session.commit()

            rsp = self.test_client.get('/api/days?limit=2')
            data = rsp.get_json()
            self.assertNotEqual(data[0]['day'], date.today().isoformat())

            rsp = self.test_client.get('/api/days?start_today=True&limit=2')
            data = rsp.get_json()
            self.assertEqual(rsp.status, '200 OK')
            self.assertEqual(data[0]['day'], date.today().isoformat())

            rsp = self.test_client.get('/api/lists/1/days?limit=2')
            data = rsp.get_json()
            self.assertNotEqual(
                data[0]['day'],
                date.today().strftime('%a, %d %b %Y 00:00:00 GMT'))

            rsp = self.test_client.get(
                '/api/lists/1/days?start_today=True&limit=2')
            data = rsp.get_json()
            self.assertEqual(rsp.status, '200 OK')
            self.assertEqual(
                data[0]['day'],
                date.today().strftime('%a, %d %b %Y 00:00:00 GMT'))