def test_review_simple(self): r = Review() daily = { '08/31/18': { 'date': datetime(year=2018, month=8, day=31), 'item': 'it 4' }, '08/30/18': { 'date': datetime(year=2018, month=8, day=30), 'item': 'it 1; it 2, it3' }, } conf = { 'review-1': '24', 'review-2': '72', 'review-3': '168', 'max-review-items': '1' } reviews = {} r.merge_review_items(daily, conf, reviews) self.assertEqual(r.reschedule_and_generate_todo(conf, reviews), ['it 1'], "Expect 1st item from day1")
quote_reader = QuotesReader(conf_reader['quote-url']) quote = select_quote(quote_reader) quote_str = "Quote of the day: " + "\n" + quote['content'] + " -- " + quote["author"] items_reader = ItemsReader(GSheetClient('client/token.json', 'client/credentials.json')) daily = items_reader.read_daily() confs = items_reader.read_conf() laws = items_reader.read_laws() review_items = items_reader.read_review_backlog() review = Review() # fill unscheduled reviews, merge, get todo list review.fill_review_dates(confs, review_items) review.merge_review_items(daily, confs, review_items) todo_list = review.reschedule_and_generate_todo(confs, review_items) # write review schedules back to sheet items_reader.write_review_backlog(review.to_table(review_items)) # send email greetings_str = "Hi,\n" close_str = "Thanks,\nBot\n\nP.S. remember to update your progress here:\nhttps://docs.google.com/spreadsheets/d/1hloMXB_eL1f_OWpZR3qDSwc51AJQjLslr_yNR0u7n8c/edit" if len(todo_list) > 0: todo_list_str = "\n - ".join(todo_list) todo_list_str = "Consider reviewing the following today:\n - " + todo_list_str else: todo_list_str = "Looks like there are no items to review today.\n"