예제 #1
0
def test_get_random_line_with_search_or_author_retries(db):
    result = Mock()
    result.sort = result
    result.count.side_effect = (0, 1)
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': 'fives1'}

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    poems.get_random_line(5, about='me')
    assert fake_find.call_count == 2
    assert fake_find.call_args_list[-1] == call({'syllables': 5})
예제 #2
0
def test_get_random_line_with_search_or_author_retries(db):
    result = Mock()
    result.sort = result
    result.count.side_effect = (0, 1)
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': 'fives1'}

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    poems.get_random_line(5, about='me')
    assert fake_find.call_count == 2
    assert fake_find.call_args_list[-1] == call({'syllables': 5})
예제 #3
0
def test_get_random_line_with_author(db):
    result = Mock()
    result.sort = result
    result.count.return_value = 1
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': u'fives☃'}  # Ensure unicode test

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    poems.get_random_line(5, by='me')
    fake_find.assert_called_with({
        'syllables': 5,
        'author': {
            '$regex': re.compile('me', re.I)
        }
    })
예제 #4
0
def test_get_random_line_with_search(db):
    result = Mock()
    result.sort = result
    result.count.return_value = 1
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': 'fives1'}

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    poems.get_random_line(5, about='me')
    fake_find.assert_called_with({
        'syllables': 5,
        'message': {
            '$regex': re.compile('me', re.I)
        }
    })
예제 #5
0
def test_get_random_line_with_author(db):
    result = Mock()
    result.sort = result
    result.count.return_value = 1
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': u'fives☃'}  # Ensure unicode test

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    poems.get_random_line(5, by='me')
    fake_find.assert_called_with({
        'syllables': 5,
        'author': {
            '$regex': re.compile('me', re.I)
        }
    })
예제 #6
0
def test_get_random_line_with_search(db):
    result = Mock()
    result.sort = result
    result.count.return_value = 1
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': 'fives1'}

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    poems.get_random_line(5, about='me')
    fake_find.assert_called_with({
        'syllables': 5,
        'message': {
            '$regex': re.compile('me', re.I)
        }
    })
예제 #7
0
def test_get_random_line(db):
    result = Mock()
    result.sort = result
    result.count.return_value = 1
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': 'fives1'}

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    line = poems.get_random_line(5)
    assert line == 'fives1'
예제 #8
0
def test_get_random_line(db):
    result = Mock()
    result.sort = result
    result.count.return_value = 1
    result.limit.return_value = result
    result.skip.return_value = result
    result.next.return_value = {'message': 'fives1'}

    fake_find = Mock(return_value=result)

    db.haiku.find = fake_find
    line = poems.get_random_line(5)
    assert line == 'fives1'
예제 #9
0
def test_get_random_line_returns_none(db):
    db.haiku.find.return_value = db
    db.count.return_value = 0
    assert poems.get_random_line(5) is None
예제 #10
0
def test_get_random_line_returns_none(db):
    db.haiku.find.return_value = db
    db.count.return_value = 0
    assert poems.get_random_line(5) is None