def test_download_and_save_stock_current_data_NOK_empty_stock_current_data(self): stock = factories.get_stock_data() quote = stock["symbol"] stock_current_data = None self.download_mock.get_stock_current_data = Mock(return_value=stock_current_data) self.mongo_mock.upsert_stock_current_data = Mock() self.domain.download_and_save_stock_current_data(stock) self.download_mock.get_stock_current_data.assert_called_once_with(quote) self.mongo_mock.upsert_stock_current_data.assert_called_once_with(quote, stock_current_data)
def test_add_stock_NOK_existing_stock(self): stock = factories.get_stock_data() quote = stock["symbol"] self.domain_mock.stock_exists = Mock(return_value=True) response = self.client.post("/stockreader/api/stocks", data=json.dumps(stock), content_type="application/json") self.domain_mock.stock_exists.assert_called_once_with(quote) self.time_series_mock.save_async.assert_not_called() self.assertEquals(response.status_code, 409) data = json.loads(response.data) expected_error_message = "The given stock already exists" self.assertEquals(expected_error_message, data["error"])
def test_add_stock_OK(self): stock = factories.get_stock_data() quote = stock["symbol"] self.domain_mock.stock_exists = Mock(return_value=False) response = self.client.post("/stockreader/api/stocks", data=json.dumps(stock), content_type="application/json") self.domain_mock.stock_exists.assert_called_once_with(quote) self.time_series_mock.save_async.assert_called_once_with("API", {}, { "method": "add_stock", "stock": quote }) self.assertEquals(response.status_code, 202) data = json.loads(response.data) expected_message = "The stock " + quote + " is being added" self.assertEquals(expected_message, data["success"])
def test_download_and_save_stock_historical_data_NOK_empty_stock_historical_data_array(self): initial_date = date(2006, 9, 1) final_date = date(2016, 9, 1) stock = factories.get_stock_data() quote = stock["symbol"] stock_historical_data_array = [] self.download_mock.get_stock_historical_data = Mock(return_value=stock_historical_data_array) self.mongo_mock.save_stock_historical_data = Mock() self.domain.download_and_save_stock_historical_data(initial_date, final_date, stock) self.download_mock.get_stock_historical_data.assert_called_once_with(initial_date, final_date, quote) self.mongo_mock.save_stock_historical_data.assert_called_once_with(quote, stock_historical_data_array)
def test_download_and_save_stock_current_data_OK(self): stock = factories.get_stock_data() quote = stock["symbol"] stock_current_data = factories.get_stock_current_data() self.download_mock.get_stock_current_data = Mock( return_value=stock_current_data) self.mongo_mock.upsert_stock_current_data = Mock() self.domain.download_and_save_stock_current_data(stock) self.download_mock.get_stock_current_data.assert_called_once_with( quote) self.mongo_mock.upsert_stock_current_data.assert_called_once_with( quote, stock_current_data)
def test_download_and_save_stock_historical_data_NOK_empty_stock_historical_data_array( self): initial_date = date(2006, 9, 1) final_date = date(2016, 9, 1) stock = factories.get_stock_data() quote = stock["symbol"] stock_historical_data_array = [] self.download_mock.get_stock_historical_data = Mock( return_value=stock_historical_data_array) self.mongo_mock.save_stock_historical_data = Mock() self.domain.download_and_save_stock_historical_data( initial_date, final_date, stock) self.download_mock.get_stock_historical_data.assert_called_once_with( initial_date, final_date, quote) self.mongo_mock.save_stock_historical_data.assert_called_once_with( quote, stock_historical_data_array)
def test_add_stock_OK(self): stock = factories.get_stock_data() quote = stock["symbol"] self.domain_mock.stock_exists = Mock(return_value=False) response = self.client.post("/stockreader/api/stocks", data=json.dumps(stock), content_type="application/json") self.domain_mock.stock_exists.assert_called_once_with(quote) self.time_series_mock.save_async.assert_called_once_with( "API", {}, { "method": "add_stock", "stock": quote }) self.assertEquals(response.status_code, 202) data = json.loads(response.data) expected_message = "The stock " + quote + " is being added" self.assertEquals(expected_message, data["success"])
def test_add_stock_to_stock_list_OK(self): stock = factories.get_stock_data() self.mongo_mock.save_stock_list = Mock() self.domain.add_stock_to_stock_list(stock) self.mongo_mock.save_stock_list.assert_called_once_with([stock])