def setUp(self): self.app = app.app.test_client() app.app.config['TESTING'] = True app.db.session.close() app.db.drop_all() app.db.create_all() app.add_user('admin', 'password', 1) app.add_user('investor', 'password', 0)
def test_create_user(self): """ Test to ensure we can add a user to the database """ new_user = { "_id": ObjectId("000000000000000000000002"), "name": "Polly O'Donovan", "username": "******", "my_recipes": [], "favourite_recipes": [] } app.add_user(new_user) self.assertIn(new_user, list(app.get_users())) app.delete_user('000000000000000000000002')
def test_failure_params_not_int(self): ''' Failure params are being looped over to make sure they are not returning expected values ''' for test in self.success_test_params: actual_result = file.add_user(test[KEY_INPUT]) expected_result = test[KEY_EXPECTED] self.assertDictEqual(actual_result, expected_result) self.assertDictContainsSubset(actual_result, expected_result)
def test_failure_params(self): ''' Failure params are being looped over to make sure they are not returning expected values ''' for test in self.failure_test_params: actual_result = file.add_user(test[KEY_INPUT]) expected_result = test[KEY_EXPECTED] self.assertNotEqual(actual_result, expected_result) self.assertNotEqual(actual_result['0'], expected_result['0']) self.assertNotEqual(actual_result['1'], expected_result['1'])
def test_succesful_params(self): ''' Successfull params are being looped over to make sure they are returning expected values ''' for test in self.success_test_params: actual_result = file.add_user(test[KEY_INPUT]) expected_result = test[KEY_EXPECTED] self.assertEqual(actual_result, expected_result) self.assertEqual(actual_result['0'], expected_result['0']) self.assertEqual(actual_result['1'], expected_result['1'])
def test_in(self): for test in self.in_test_params: with patch('app.db.session.add', self.mocked_db_session_add): with patch('app.db.session.commit', self.mocked_db_session_commit): with patch('models.User.query') as mocked_query: mocked_query.all = self.mocked_person_query_all actual_result = add_user(test[KEY_INPUT]) expected_result = test[KEY_EXPECTED] self.assertIn(actual_result[1], expected_result[1]) self.assertNotIn(actual_result[1], expected_result[0])
def test_failure(self): '''Testing to make sure these cases never occur when adding to database''' for test in self.failure_test_params: with patch('app.db.session.add', self.mocked_db_session_add): with patch('app.db.session.commit', self.mocked_db_session_commit): with patch('models.Person.query') as mocked_query: mocked_query.all = self.mocked_person_query_all actual_result = add_user(test[KEY_INPUT]) expected_result = test[KEY_EXPECTED] self.assertNotEqual(len(actual_result), len(expected_result)) self.assertNotEqual(actual_result, expected_result)
def test_success(self): '''Test if adding people to the database is successful''' for test in self.success_test_params: with patch('app.db.session.add', self.mocked_db_session_add): with patch('app.db.session.commit', self.mocked_db_session_commit): with patch('models.Person.query') as mocked_query: mocked_query.all = self.mocked_person_query_all actual_result = add_user(test[KEY_INPUT]) expected_result = test[KEY_EXPECTED] self.assertEqual(len(actual_result), len(expected_result)) self.assertEqual(actual_result[1], expected_result[1])
def test_add_user(self): for test in self.success_test_params: with patch('models.Person.query') as mocked_query: mocked_query.all = self.mocked_person with patch('app.DB.session.add', self.mocked_add): with patch('app.DB.session.commit', self.mocked_commit): with patch('app.SOCKETIO.emit', self.mocked_emit): actual_result = add_user(test[INPUT]) expected_result = test[EXPECTED_OUTPUT] self.assertEqual(len(actual_result), len(expected_result)) self.assertEqual(actual_result, expected_result)
def test_user_success(self): for test in self.success_test_params: with patch('app.db.session.add', self.mocked_db_session_add): with patch('app.db.session.commit', self.mocked_db_session_commit): with patch('models.Leaderboard.query') as mocked_query: mocked_query.all = self.mocked_person_query_all print(self.initial_db_mock) actual_result = add_user(test[KEY_INPUT]) print(actual_result) expected_result = test[KEY_EXPECTED] print(self.initial_db_mock) print(expected_result) self.assertEqual(len(actual_result), len(expected_result)) self.assertEqual(actual_result[1], expected_result[1])