def test_get_no_result(self): client = Client(self.test_entry_point) mock_connector = Mock(**{'get.return_value': None}) client.connector = mock_connector result = client.get(self.data_url) self.assertEqual(result, None) self.assertEqual(client.document, None)
def test_home(self): client = Client(self.test_entry_point) mock_connector = Mock(**{'get.return_value': self.home_values}) client.connector = mock_connector result = client.home() self.assertTrue(result) self.assertTrue(result.links) self.assertEqual(len(result.links), 7)
def test_prev(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector client.get(self.data_url) with patch.object(Client, 'get') as mock_get: self.assertEqual(client.prev(), None)
def test_last(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector client.get(self.data_url) with patch.object(Client, 'get') as mock_get: client.last() mock_get.assert_called_with(self.nav_values['last'])
def test_load_last_page_in_history(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector client.current_page = self.test_entry_point client.history.append(self.data_url) client.get(self.data_url) self.assertEqual(client.history, []) self.assertEqual(client.forward_stack, [self.test_entry_point])
def test_history_collected(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector client.current_page = self.data_url # History won't be collected until our second page client.get(self.test_url) self.assertNotEqual(client.history, []) self.assertEqual(client.history[-1], self.data_url)
def test_get_makes_history(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector # current page should be set to None until first request self.assertEqual(client.current_page, None) client.get(self.data_url) self.assertEqual(client.current_page, self.data_url) self.assertEqual(client.history, [])
def test_forward(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector client.current_page = self.test_entry_point client.history.append(self.data_url) client.get(self.data_url) with patch.object(Client, 'get') as mock_get: client.forward() mock_get.assert_called_with(self.test_entry_point)
def test_client_pager(self): client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector client.get(self.data_url) self.assertNotEqual(client.pager, None) self.assertTrue(client.pager.navigable) self.assertEqual(client.pager.next, self.nav_values['next']) self.assertEqual(client.pager.prev, None) self.assertEqual(client.pager.first, self.nav_values['first']) self.assertEqual(client.pager.last, self.nav_values['last']) self.assertEqual(client.pager.current, self.nav_values['current'])
def test_history_end2end(self): # Repeat the three previous tests as end-to-end test client = Client(self.test_entry_point) with open(self.data_doc, 'r') as jfile: values = json.loads(jfile.read()) mock_connector = Mock(**{'get.return_value': values}) client.connector = mock_connector # current page should be set to None until first request self.assertEqual(client.current_page, None) client.get(self.data_url) self.assertEqual(client.current_page, self.data_url) self.assertEqual(client.history, []) # History won't be collected until our second page client.get(self.test_url) self.assertNotEqual(client.history, []) self.assertEqual(client.history[-1], self.data_url) # History will empty if we request last page in history stack client.get(self.data_url) self.assertEqual(client.history, []) self.assertEqual(client.forward_stack, [self.test_url])