openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #31050
[Merge] lp:~alisonken1/openlp/projectordb_tests into lp:openlp
Ken Roberts has proposed merging lp:~alisonken1/openlp/projectordb_tests into lp:openlp.
Commit message:
Add tests to ProjectorDB
Requested reviews:
OpenLP Core (openlp-core)
For more details, see:
https://code.launchpad.net/~alisonken1/openlp/projectordb_tests/+merge/315785
Add some more tests for ProjectorDB
--------------------------------
lp:~alisonken1/openlp/projectordb_tests (revision 2723)
[SUCCESS] https://ci.openlp.io/job/Branch-01-Pull/1897/
[SUCCESS] https://ci.openlp.io/job/Branch-02-Functional-Tests/1808/
[SUCCESS] https://ci.openlp.io/job/Branch-03-Interface-Tests/1747/
[SUCCESS] https://ci.openlp.io/job/Branch-04a-Windows_Functional_Tests/1483/
[SUCCESS] https://ci.openlp.io/job/Branch-04b-Windows_Interface_Tests/1073/
[SUCCESS] https://ci.openlp.io/job/Branch-05a-Code_Analysis/1141/
[SUCCESS] https://ci.openlp.io/job/Branch-05b-Test_Coverage/1009/
[SUCCESS] https://ci.openlp.io/job/Branch-05c-Code_Analysis2/152/
--
Your team OpenLP Core is requested to review the proposed merge of lp:~alisonken1/openlp/projectordb_tests into lp:openlp.
=== modified file 'tests/functional/openlp_core_lib/test_projectordb.py'
--- tests/functional/openlp_core_lib/test_projectordb.py 2016-12-31 11:01:36 +0000
+++ tests/functional/openlp_core_lib/test_projectordb.py 2017-01-27 14:51:08 +0000
@@ -196,7 +196,7 @@
def test_manufacturer_repr(self):
"""
- Test Manufacturer.__repr__ text
+ Test Manufacturer.__repr__() text
"""
# GIVEN: Test object
manufacturer = Manufacturer()
@@ -210,7 +210,7 @@
def test_model_repr(self):
"""
- Test Model.__repr__ text
+ Test Model.__repr__() text
"""
# GIVEN: Test object
model = Model()
@@ -224,7 +224,7 @@
def test_source_repr(self):
"""
- Test Source.__repr__ text
+ Test Source.__repr__() text
"""
# GIVEN: Test object
source = Source()
@@ -287,7 +287,7 @@
def test_get_projector_by_id_none(self):
"""
- Test get_projector_by_id returns None if no db entry
+ Test get_projector_by_id() returns None if no db entry
"""
# GIVEN: Test object and data
projector = self.projector
@@ -297,3 +297,119 @@
# THEN: Verify return was None
self.assertEqual(results, None, 'Returned results should have equaled None')
+
+ def test_get_projector_all_none(self):
+ """
+ Test get_projector_all() with no projectors in db
+ """
+ # GIVEN: Test object with no data
+ projector = self.projector
+
+ # WHEN: We retrieve the database entries
+ results = projector.get_projector_all()
+
+ # THEN: Verify results is None
+ self.assertEqual(results, [], 'Returned results should have returned an empty list')
+
+ def test_get_projector_all_one(self):
+ """
+ Test get_projector_all() with one entry in db
+ """
+ # GIVEN: One entry in database
+ projector = Projector(**TEST1_DATA)
+ self.projector.add_projector(projector)
+
+ # WHEN: We retrieve the database entries
+ results = self.projector.get_projector_all()
+
+ # THEN: We should have a list with one entry
+ self.assertEqual(len(results), 1, 'Returned results should have returned a list with one entry')
+ self.assertTrue((projector in results), 'Result should have been equal to TEST1_DATA')
+
+ def test_get_projector_all_many(self):
+ """
+ Test get_projector_all() with multiple entries in db
+ """
+ # GIVEN: multiple entries in database
+ projector_list = []
+ projector_list.append(Projector(**TEST1_DATA))
+ projector_list.append(Projector(**TEST2_DATA))
+ projector_list.append(Projector(**TEST3_DATA))
+ for projector in projector_list:
+ self.projector.add_projector(projector)
+
+ # WHEN: We retrieve the database entries
+ results = self.projector.get_projector_all()
+
+ # THEN: We should have a list with three entries
+ self.assertEqual(len(results), len(projector_list),
+ 'Returned results should have returned a list with three entries')
+ for projector in results:
+ self.assertTrue((projector in projector_list),
+ 'Projector DB entry should have been in expected list')
+
+ def test_get_projector_by_name_fail(self):
+ """
+ Test get_projector_by_name() fail
+ """
+ # GIVEN: Test entry in database
+ self.projector.add_projector(Projector(**TEST1_DATA))
+
+ # WHEN: We attempt to get a projector that's not in database
+ results = self.projector.get_projector_by_name(name=TEST2_DATA['name'])
+
+ # THEN: We should have None
+ self.assertEqual(results, None, 'projector.get_projector_by_name() should have returned None')
+
+ def test_add_projector_fail(self):
+ """
+ Test add_projector() fail
+ """
+ # GIVEN: Test entry in the database
+ ignore_result = self.projector.add_projector(Projector(**TEST1_DATA))
+
+ # WHEN: Attempt to add same projector entry
+ results = self.projector.add_projector(Projector(**TEST1_DATA))
+
+ # THEN: We should have failed to add new entry
+ self.assertFalse(results, 'add_projector() should have failed')
+
+ def test_update_projector_default_fail(self):
+ """
+ Test update_projector() with no options fails
+ """
+ # GIVEN: projector instance
+ projector = self.projector
+
+ # WHEN: attempt to update a projector entry with no options
+ results = projector.update_projector()
+
+ # THEN: We should have failed
+ self.assertFalse(results, 'update_projector(projector=None) should have returned False')
+
+ def test_update_projector_not_in_db_fail(self):
+ """
+ Test update_projector() when entry not in database
+ """
+ # GIVEN: Projector entry in database
+ ignore_result = self.projector.add_projector(Projector(**TEST1_DATA))
+ projector = Projector(**TEST2_DATA)
+
+ # WHEN: Attempt to update data with a different ID
+ results = self.projector.update_projector(projector)
+
+ # THEN: Results should be False
+ self.assertFalse(results, 'update_projector(projector=projector) should have returned False')
+
+ def test_delete_projector_fail(self):
+ """
+ Test delete_projector(projector) fails to delete record
+ """
+ # GIVEN: Test entry in db
+ self.projector.add_projector(Projector(**TEST1_DATA))
+
+ # wHEN: Attempting to delete an entry not in the databae
+ results = self.projector.delete_projector(Projector(**TEST2_DATA))
+
+ # THEN: Results should be False
+ self.assertFalse(results, 'delete_projector() should have returned False')
Follow ups