def test_menu_calls_ask_create_post(self): with patch('builtins.input') as mocked_input: with patch('blog_console_app.app.App.ask_create_post' ) as mocked_ask_create_post: user_selection = 'p' mocked_input.side_effect = (user_selection, 'q') main.main() mocked_ask_create_post.assert_called()
def test_menu_calls_ask_read_blog(self): with patch('builtins.input') as mocked_input: with patch('blog_console_app.app.App.ask_read_blog' ) as mocked_ask_read_blog: user_selection = 'r' mocked_input.side_effect = (user_selection, 'q') main.main() mocked_ask_read_blog.assert_called()
def test_menu_calls_print_blogs(self): with patch('builtins.input') as mocked_input: with patch('blog_console_app.app.App.print_blogs' ) as mocked_print_blogs: user_selection = 'l' mocked_input.side_effect = (user_selection, 'q') main.main() mocked_print_blogs.assert_called()
def test_app_menu_prints_prompt(self): expected = "Enter 'c' to create a blog_console_app, " \ "'l' to list blogs, " \ "'r' to read one, " \ "'p' to create a post, " \ "or 'q' to quit." with patch('builtins.input', return_value='q') as mocked_input: main.main() mocked_input.assert_called_with(expected)
def test_menu_create_blog(self): with patch('builtins.input') as mocked_input: user_selection = 'c' blog_name = 'Blog Title' author_name = 'Author Name' mocked_input.side_effect = (user_selection, blog_name, author_name, 'q') main.main() self.assertIsNotNone(main.app.blogs[blog_name]) self.assertEqual(main.app.blogs[blog_name].author, author_name) self.assertEqual(main.app.blogs[blog_name].title_field, blog_name)
def test_main_calls_print_blogs(self): with patch( 'blog_console_app.app.App.print_blogs') as mocked_print_blogs: with patch('builtins.input', return_value='q'): main.main() mocked_print_blogs.assert_called()