2013-01-27 20:36:18 +00:00
|
|
|
"""
|
2013-02-10 20:09:39 +00:00
|
|
|
Package to test the openlp.core.ui package.
|
2013-01-27 20:36:18 +00:00
|
|
|
"""
|
|
|
|
from unittest import TestCase
|
2013-02-16 06:51:25 +00:00
|
|
|
|
|
|
|
from PyQt4 import QtCore, QtGui, QtTest
|
|
|
|
|
2013-01-27 20:36:18 +00:00
|
|
|
from openlp.core.lib import Registry
|
|
|
|
from openlp.core.ui import servicenoteform
|
2013-10-04 21:45:38 +00:00
|
|
|
from tests.interfaces import patch
|
2013-02-16 06:51:25 +00:00
|
|
|
|
2013-01-27 20:36:18 +00:00
|
|
|
|
|
|
|
class TestStartNoteDialog(TestCase):
|
|
|
|
|
|
|
|
def setUp(self):
|
|
|
|
"""
|
|
|
|
Create the UI
|
|
|
|
"""
|
2013-02-09 17:07:33 +00:00
|
|
|
Registry.create()
|
2013-03-14 22:22:18 +00:00
|
|
|
self.app = QtGui.QApplication([])
|
2013-01-27 20:36:18 +00:00
|
|
|
self.main_window = QtGui.QMainWindow()
|
2013-08-31 18:17:38 +00:00
|
|
|
Registry().register('main_window', self.main_window)
|
2013-01-27 20:36:18 +00:00
|
|
|
self.form = servicenoteform.ServiceNoteForm()
|
|
|
|
|
|
|
|
def tearDown(self):
|
|
|
|
"""
|
|
|
|
Delete all the C++ objects at the end so that we don't have a segfault
|
|
|
|
"""
|
|
|
|
del self.form
|
|
|
|
del self.main_window
|
|
|
|
del self.app
|
|
|
|
|
|
|
|
def basic_display_test(self):
|
|
|
|
"""
|
|
|
|
Test Service Note form functionality
|
|
|
|
"""
|
|
|
|
# GIVEN: A dialog with an empty text box
|
2013-08-31 18:17:38 +00:00
|
|
|
self.form.text_edit.setPlainText('')
|
2013-01-27 20:36:18 +00:00
|
|
|
|
|
|
|
# WHEN displaying the UI and pressing enter
|
2013-08-31 18:17:38 +00:00
|
|
|
with patch('PyQt4.QtGui.QDialog.exec_'):
|
2013-01-27 20:36:18 +00:00
|
|
|
self.form.exec_()
|
2013-03-12 09:37:27 +00:00
|
|
|
ok_widget = self.form.button_box.button(self.form.button_box.Save)
|
|
|
|
QtTest.QTest.mouseClick(ok_widget, QtCore.Qt.LeftButton)
|
2013-01-27 20:36:18 +00:00
|
|
|
|
|
|
|
# THEN the following input text is returned
|
2013-08-31 18:17:38 +00:00
|
|
|
self.assertEqual(self.form.text_edit.toPlainText(), '', 'The returned text should be empty')
|
2013-01-27 20:36:18 +00:00
|
|
|
|
|
|
|
# WHEN displaying the UI, having set the text and pressing enter
|
2013-08-31 18:17:38 +00:00
|
|
|
text = 'OpenLP is the best worship software'
|
2013-01-27 20:36:18 +00:00
|
|
|
self.form.text_edit.setPlainText(text)
|
2013-08-31 18:17:38 +00:00
|
|
|
with patch('PyQt4.QtGui.QDialog.exec_'):
|
2013-01-27 20:36:18 +00:00
|
|
|
self.form.exec_()
|
2013-03-12 09:37:27 +00:00
|
|
|
ok_widget = self.form.button_box.button(self.form.button_box.Save)
|
|
|
|
QtTest.QTest.mouseClick(ok_widget, QtCore.Qt.LeftButton)
|
2013-01-27 20:36:18 +00:00
|
|
|
|
|
|
|
# THEN the following text is returned
|
2013-08-31 18:17:38 +00:00
|
|
|
self.assertEqual(self.form.text_edit.toPlainText(), text, 'The text originally entered should still be there')
|
2013-01-27 20:36:18 +00:00
|
|
|
|
|
|
|
# WHEN displaying the UI, having set the text and pressing enter
|
2013-08-31 18:17:38 +00:00
|
|
|
self.form.text_edit.setPlainText('')
|
|
|
|
with patch('PyQt4.QtGui.QDialog.exec_'):
|
2013-01-27 20:36:18 +00:00
|
|
|
self.form.exec_()
|
|
|
|
self.form.text_edit.setPlainText(text)
|
|
|
|
okWidget = self.form.button_box.button(self.form.button_box.Save)
|
|
|
|
QtTest.QTest.mouseClick(okWidget, QtCore.Qt.LeftButton)
|
|
|
|
|
|
|
|
# THEN the following text is returned
|
2013-08-31 18:17:38 +00:00
|
|
|
self.assertEqual(self.form.text_edit.toPlainText(), text, 'The new text should be returned')
|
2013-02-16 16:05:39 +00:00
|
|
|
|