コード例 #1
0
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.app.goto(SCREENS_TYPE.ABOUT)
        self.toolbar = self.app.root.ids.toolbar
コード例 #2
0
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.task = self.create_task()

        self.app.goto(SCREENS_TYPE.EDIT, task=self.task)
        self.toolbar = self.app.root.ids.toolbar
コード例 #3
0
class EditTaskTestCase(unittest.TestCase):
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.task = self.create_task()

        self.app.goto(SCREENS_TYPE.EDIT, task=self.task)
        self.toolbar = self.app.root.ids.toolbar

    def create_task(self, ):
        values = dict(title="Conta de Luz",
                      finished=False,
                      date=datetime.now().date(),
                      tag="conta")
        with db:
            task = Task.create(**values)
            task.save()
            return task

    def test_edit_task_screen_name(self, ):
        screen = self.app.root.ids.manager.current
        self.assertEqual(screen, 'edit_task')

    def test_edit_task_type(self, ):
        screen = self.app.root.ids.manager.current_screen
        self.assertIsInstance(screen, TaskEditScreen)

    def test_task_info(self, ):
        self.assertEqual(
            get_screen_element(self.app, 'task_name').text, self.task.title)

        self.assertEqual(
            get_screen_element(self.app, 'task_tag').text, self.task.tag)

        self.assertEqual(
            get_screen_element(self.app, 'task_finished').active,
            self.task.finished)

        self.assertEqual(
            get_screen_element(self.app, 'task_date').text,
            str(self.task.date))

    def test_toolbar_title(self, ):
        """Testa se o titulo da toolbar é 'Edit Task'."""
        self.assertEqual(self.app.root.ids.toolbar.title, 'Edit Task')

    def test_toolbar_left_action_items(self, ):
        """Testa se a toolbar possui o botao 'salvar'."""
        self.assertEqual(len(self.toolbar.right_action_items), 1)
コード例 #4
0
class AboutTestCase(unittest.TestCase):
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.app.goto(SCREENS_TYPE.ABOUT)
        self.toolbar = self.app.root.ids.toolbar

    def test_about_screen_name(self, ):
        screen = self.app.root.ids.manager.current
        self.assertEqual(screen, 'about')

    def test_about_screen_type(self, ):
        screen = self.app.root.ids.manager.current_screen
        self.assertIsInstance(screen, AboutScreen)
コード例 #5
0
class NewTaskTestCase(unittest.TestCase):
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.app.goto(SCREENS_TYPE.EDIT)
        self.toolbar = self.app.root.ids.toolbar

    def test_new_task_screen_name(self, ):
        screen = self.app.root.ids.manager.current
        self.assertEqual(screen, 'new_task')

    def test_new_task_type(self, ):
        screen = self.app.root.ids.manager.current_screen
        self.assertIsInstance(screen, TaskEditScreen)

    def test_if_elements_exists(self, ):
        self.assertIsNotNone(get_screen_element(self.app, 'task_name'))
        self.assertIsNotNone(get_screen_element(self.app, 'task_tag'))
        self.assertIsNotNone(get_screen_element(self.app, 'task_finished'))
        self.assertIsNotNone(get_screen_element(self.app, 'task_date'))

    def test_elements_type(self, ):
        self.assertIsInstance(get_screen_element(self.app, 'task_name'),
                              MDTextField)
        self.assertIsInstance(get_screen_element(self.app, 'task_tag'),
                              MDTextField)
        self.assertIsInstance(get_screen_element(self.app, 'task_finished'),
                              MDCheckbox)
        self.assertIsInstance(get_screen_element(self.app, 'task_date'),
                              MDTextField)

    def test_save_task(self, ):
        get_screen_element(self.app, 'task_name').text = 'hola'
        get_screen_element(self.app, 'task_tag').text = 'mundo'
        get_screen_element(self.app, 'task_finished').active = True
        get_screen_element(self.app,
                           'task_date').text = str(datetime.now().date())

        self.app.root.ids.manager.current_screen.save_task()

        self.assertIsInstance(self.app.root.ids.manager.current_screen,
                              HomeScreen)
コード例 #6
0
class TasksAppTestCase(unittest.TestCase):
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

    def test_app_infos(self, ):
        self.assertEqual(self.app.get_application_name(), 'Tasks')
        self.assertEqual(self.app.website,
                         'http://juacywillian.github.io/tasks')

    def test_app_build(self, ):
        self.assertIsInstance(self.app.root, BoxLayout)
        self.assertIsNotNone(self.app.root.ids.toolbar)
        self.assertIsNotNone(self.app.root.ids.manager)

    def test_goto(self, ):
        self.assertRaises(TypeError, self.app.goto, 'home')
        self.assertRaises(TypeError, self.app.goto, 1)
        self.assertRaisesRegex(TypeError, r".* 'SCREEN_TYPE' instance\.$",
                               self.app.goto, 'home')
コード例 #7
0
ファイル: home_test.py プロジェクト: JuacyWillian/TasksApp
class HomeTestCase(unittest.TestCase):
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_once(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.toolbar = self.app.root.ids.toolbar

    def test_home_type(self, ):
        self.assertIsInstance(self.app.root.ids.manager.current_screen,
                              HomeScreen)

    def test_home_screen_name(self, ):
        self.assertEqual(self.app.root.ids.manager.current, 'home')

    def test_toolbar_right_action_items(self, ):
        self.assertEqual(len(self.toolbar.right_action_items), 2)

    def test_plus_button_on_toolbar(self, ):
        self.assertIsNotNone(self.__get_toolbar_button('plus'))

    def __get_toolbar_button(self, icon):
        right_actions = self.toolbar.ids.right_actions.children
        for btn in right_actions:
            if btn.icon == icon:
                return btn

    def test_plus_button_action(self, ):
        self.__get_toolbar_button('plus').dispatch('on_release')
        self.assertEqual(self.app.root.ids.manager.current, 'new_task')

    def test_about_button_action(self, ):
        self.__get_toolbar_button('information-outline').dispatch('on_release')
        self.assertEqual(self.app.root.ids.manager.current, 'about')

    def test_info_button_on_toolbar(self, ):
        self.assertIsNotNone(self.__get_toolbar_button('information-outline'))
コード例 #8
0
ファイル: main.py プロジェクト: JuacyWillian/TasksApp
# coding: utf-8
import kivy

kivy.require('1.10.1')

from tasks import TasksApp

if __name__ == "__main__":
    TasksApp().run()
コード例 #9
0
ファイル: home_test.py プロジェクト: JuacyWillian/TasksApp
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_once(lambda *x: self.app.stop(), 0.000001)
        self.app.run()

        self.toolbar = self.app.root.ids.toolbar
コード例 #10
0
 def setUp(self):
     self.app = TasksApp()
     Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
     self.app.run()
コード例 #11
0
class DatabaseTestCase(unittest.TestCase):
    def setUp(self):
        self.app = TasksApp()
        Clock.schedule_interval(lambda *x: self.app.stop(), 0.000001)
        self.app.run()