~om26er/gallery-app/fix_selection_test

« back to all changes in this revision

Viewing changes to tests/autopilot/gallery_app/tests/test_events_view.py

  • Committer: Bill Filler
  • Date: 2014-04-04 16:34:27 UTC
  • mfrom: (918.3.27 gallery-app-album-nav)
  • Revision ID: bill.filler@canonical.com-20140404163427-5yjg1t2tkv6ykou1
merge

Show diffs side-by-side

added added

removed removed

Lines of Context:
10
10
 
11
11
from __future__ import absolute_import
12
12
 
13
 
from testtools.matchers import Equals, Is
 
13
from testtools.matchers import Equals, NotEquals, Is, GreaterThan
14
14
from autopilot.matchers import Eventually
15
15
from autopilot.platform import model
16
16
 
17
17
from gallery_app.tests import GalleryTestCase
 
18
from gallery_app.emulators.events_view import EventsView
18
19
 
 
20
from os import environ as env
19
21
from os.path import exists
20
 
from os import environ as env
 
22
import shutil
21
23
 
22
24
class TestEventsView(GalleryTestCase):
23
25
    """Tests the main gallery features"""
24
26
    envDesktopMode = None
25
27
 
 
28
    @property
 
29
    def events_view(self):
 
30
        return EventsView(self.app)
 
31
 
26
32
    def setUp(self):
27
33
        self.ARGS = []
28
34
 
36
42
        # This is needed to wait for the application to start.
37
43
        # In the testfarm, the application may take some time to show up.
38
44
        super(TestEventsView, self).setUp()
 
45
        self.main_view.switch_to_tab("eventsTab")
 
46
        """Wait for the data to be loaded and displayed"""
 
47
        self.assertThat(lambda: self.events_view.number_of_events(),
 
48
                        Eventually(GreaterThan(0)))
39
49
 
40
50
    def tearDown(self):
41
51
        if self.envDesktopMode:
53
63
        self.main_view.open_toolbar().click_button("selectButton")
54
64
 
55
65
    def click_first_photo(self):
56
 
        first_photo = self.gallery_utils.get_first_image_in_event_view()
 
66
        first_photo = self.events_view.get_first_image_in_event_view()
57
67
        self.click_item(first_photo)
58
68
 
59
69
    def assert_delete_dialog_visible(self):
76
86
        self.assertThat(toolbar.opened, Eventually(Equals(False)))
77
87
        self.assertFalse(events_view.inSelectionMode)
78
88
 
79
 
        first_photo = self.gallery_utils.get_first_image_in_event_view()
 
89
        first_photo = self.events_view.get_first_image_in_event_view()
80
90
        self.tap_item(first_photo)
81
91
        self.assertTrue(events_view.inSelectionMode)
82
92
 
83
93
    def test_delete_a_photo(self):
84
94
        """Selecting a photo must make the delete button clickable."""
85
 
        number_of_photos = self.gallery_utils.number_of_photos_in_events()
 
95
        number_of_photos = self.events_view.number_of_photos_in_events()
86
96
        self.enable_select_mode()
87
97
        self.click_first_photo()
88
98
        self.main_view.open_toolbar().click_button("deleteButton")
94
104
        self.assertThat(lambda: exists(self.sample_file),
95
105
                        Eventually(Equals(True)))
96
106
 
97
 
        new_number_of_photos = self.gallery_utils.number_of_photos_in_events()
 
107
        new_number_of_photos = self.events_view.number_of_photos_in_events()
98
108
        self.assertThat(new_number_of_photos, Equals(number_of_photos))
99
109
 
100
110
        self.assertThat(self.gallery_utils.delete_dialog_shown,
112
122
                        Eventually(Equals(False)))
113
123
 
114
124
        self.ui_update()
115
 
        new_number_of_photos = self.gallery_utils.number_of_photos_in_events()
 
125
        new_number_of_photos = self.events_view.number_of_photos_in_events()
116
126
        self.assertThat(new_number_of_photos, Equals(number_of_photos - 1))
117
127
 
118
128
    def test_adding_a_video(self):
119
 
        self.add_video_sample()
 
129
        if model() == "Desktop":
 
130
            first_before = self.events_view.get_first_event()
 
131
            video_file = "video.mp4"
 
132
            shutil.copyfile(self.sample_dir+"/option01/"+video_file,
 
133
                            self.sample_destination_dir+"/"+video_file)
 
134
            video_file = "video.mkv"
 
135
            shutil.copyfile(self.sample_dir+"/option01/"+video_file,
 
136
                            self.sample_destination_dir+"/"+video_file)
 
137
            first = self.events_view.get_first_event()
 
138
            self.assertThat(lambda: str(first),
 
139
                            Eventually(NotEquals(str(first_before))))
 
140
            self.assertThat(
 
141
                lambda: self.events_view.number_of_photos_in_event(first),
 
142
                Eventually(Equals(2)))
120
143
 
121
144
    # Check if Camera Button is not visible at Desktop mode
122
145
    def test_camera_button_visible(self):
127
150
            self.assertThat(cameraButton.visible, Equals(False))
128
151
        else:
129
152
            self.assertThat(cameraButton.visible, Equals(True))
 
153