def testShouldOnlyAskForQuestionsAfterLastQuestion(self): last_question = Question(id=12345, asker="Cheese", data="pants") last_question.put() test_questions = [] queue = Mock({ "add": None }, taskqueue) twitterbot = Mock({ "questions_since": test_questions }, TwitterBot) listener = Listener(twitterbot, queue) listener.listen() last_question.delete() twitterbot.mockCheckCall(0, "questions_since", last_question) self.failIf(queue.mockGetNamedCalls("add"))
class AnswererTest(unittest.TestCase): test_question = None def setUp(self): self.test_question = Question(id=12345, asker="Cheese", data="blah blah") self.test_question.put() def test_should_answer_question(self): logging.info("test_question is %r", self.test_question) twitterbot = Mock({"answer": None}, TwitterBot) answerer = Answerer(twitterbot) answerer.answer(12345) twitterbot.mockCheckCall(0, "answer", self.test_question) def tearDown(self): self.test_question.delete()
def testLastQuestionShouldGetLatestRetrievedQuestion(self): first_question = Question(id=12345, asker="firstuser", data="blah") second_question = Question(id=12345, asker="seconduser", data="blah2") third_question = Question(id=12345, asker="thirduser", data="blah3") first_question.put() second_question.put() third_question.put() last_question = Question.last_question() self.assertEqual("thirduser", last_question.asker)