Exemplo n.º 1
0
    def testPrepareScreenResourcesPixelDensity(self):
        device = fase_model.Device(device_type='MockType',
                                   device_id='MockDeviceID',
                                   pixel_density=1.5)
        _, session_info, _ = self._GetServiceAndAssert(device)
        service_prog = fase_database.FaseDatabaseInterface.Get(
        ).GetServiceProg(session_info.session_id)
        screen = fase.Screen(service_prog.service)
        frame = screen.AddFrame(id_='frame_id')
        frame.AddImage(id_='image1_id', filename=self.file1_template_filename)
        frame.AddImage(id_='image2_id', filename=self.file2_template_filename)
        _, resources = fase_server.PrepareScreen(screen, device)
        self.assertEqual(
            set([
                fase_model.Resource(filename=self.file1_20_filename),
                fase_model.Resource(filename=self.file2_20_filename)
            ]), set(resources.resource_list))

        screen = fase.Screen(service_prog.service)
        frame = screen.AddFrame(id_='frame_id')
        frame.AddImage(id_='image1_id',
                       filename=self.file1_template_filename,
                       pixel_density_mult=2.0)
        frame.AddImage(id_='image2_id',
                       filename=self.file2_template_filename,
                       pixel_density_mult=2.0)
        _, resources = fase_server.PrepareScreen(screen, device)
        self.assertEqual(
            set([
                fase_model.Resource(filename=self.file1_30_filename),
                fase_model.Resource(filename=self.file2_30_filename)
            ]), set(resources.resource_list))
Exemplo n.º 2
0
 def _GetGreetingScreen(service, name):
     screen = fase.Screen(service)
     screen.AddLabel(id_='hello_label_id', text='Hello, %s!' % name)
     screen.AddButton(id_='reset_button_id',
                      text='Reset',
                      on_click=fase.FunctionPlaceholder)
     return screen
Exemplo n.º 3
0
 def OnStart(self):
     screen = fase.Screen(self)
     screen.AddText(id_='text_name_id', hint='Enter Name')
     screen.AddButton(id_='next_button_id',
                      text='Next',
                      on_click=ApplicationTestService.OnNextButton)
     return screen
Exemplo n.º 4
0
 def OnUpdate(self):
     screen = fase.Screen(self)
     screen.AddLabel(id_='update_label_id', text='Service has been updated')
     screen.AddButton(id_='start_button_id',
                      text='Start',
                      on_click=ServerTestService.OnResetButton)
     return screen
Exemplo n.º 5
0
 def _GetEnterNameScreen(service, name=None):
     screen = fase.Screen(service)
     screen.AddText(id_='text_name_id', hint='Enter Name', text=name)
     screen.AddButton(id_='next_button_id',
                      text='Next',
                      on_click=fase.FunctionPlaceholder)
     return screen
Exemplo n.º 6
0
 def testPrepareScreenNoVariables(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     _, session_info, _ = self._GetServiceAndAssert(device)
     service_prog = fase_database.FaseDatabaseInterface.Get(
     ).GetServiceProg(session_info.session_id)
     screen = fase.Screen(service_prog.service)
     frame = screen.AddFrame(id_='frame_id')
     frame.AddText(id_='text_id')
     frame.AddStringVariable(id_='value_str', value='general')
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='text_id'))
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='value_str'))
     screen_removed_variables, _ = fase_server.PrepareScreen(screen, None)
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='text_id'))
     self.assertTrue(
         screen.GetElement(id_='frame_id').HasElement(id_='value_str'))
     self.assertTrue(
         screen_removed_variables.GetElement(id_='frame_id').HasElement(
             id_='text_id'))
     self.assertFalse(
         screen_removed_variables.GetElement(id_='frame_id').HasElement(
             id_='value_str'))
Exemplo n.º 7
0
def OnSignUpOption(service, screen, element):
    screen = fase.Screen(service)
    screen.SetTitle('Sign Up')
    sign_up_frame = screen.AddFrame(id_='sign_up_frame_id',
                                    orientation=fase.Frame.VERTICAL)
    sign_up_frame.AddText(id_='phone_number_text_id',
                          hint='Phone Number',
                          type_=fase.Text.PHONE)
    sign_up_frame.AddText(id_='first_name_text_id', hint='First Name')
    sign_up_frame.AddText(id_='last_name_text_id', hint='Last Name')

    # Requested user data.
    request_user_data = fase.RequestUserData.FromJSON(
        service.GetStringVariable(
            id_='fase_sign_in_request_user_data').GetValue())

    if request_user_data.date_of_birth:
        sign_up_frame.AddDateTimePicker(id_='date_of_birth_date_picker',
                                        type_=fase.DateTimePicker.DATE,
                                        hint='Date of Birth')
    if request_user_data.home_city:
        sign_up_frame.AddPlacePicker(id_='home_city_place_picker',
                                     type_=fase.PlacePicker.CITY,
                                     hint='Home City')

    sign_up_button = sign_up_frame.AddButton(id_='sign_up_button_id',
                                             text='Sign Up',
                                             on_click=OnSignUpEnteredData)
    sign_up_button.SetRequestLocale(True)
    screen.AddPrevStepButton(text='Back', on_click=OnSignInStart)
    return screen
Exemplo n.º 8
0
 def OnStart(self):
     screen = fase.Screen(self)
     screen.AddImage(id_='image_id', filename='logo.png')
     screen.AddText(id_='text_name_id', hint='Enter Name')
     screen.AddButton(id_='next_button_id',
                      text='Next',
                      on_click=ServerTestService.OnNextButton)
     return screen
Exemplo n.º 9
0
 def _GetGreetingScreen(service, name):
     screen = fase.Screen(service)
     screen.AddImage(id_='image_id', filename='hello.png')
     screen.AddLabel(id_='hello_label_id', text='Hello, %s!' % name)
     screen.AddButton(id_='reset_button_id',
                      text='Reset',
                      on_click=ServerTestService.OnResetButton)
     return screen
Exemplo n.º 10
0
 def _GetEnterNameScreen(service, name=None):
     screen = fase.Screen(service)
     screen.AddImage(id_='image_id', filename='logo.png')
     screen.AddText(id_='text_name_id', hint='Enter Name', text=name)
     screen.AddButton(id_='next_button_id',
                      text='Next',
                      on_click=ServerTestService.OnNextButton)
     return screen
Exemplo n.º 11
0
 def OnNextButton(self, screen, element):
     name = screen.GetText(id_='text_name_id').GetText()
     screen = fase.Screen(self)
     screen.AddLabel(id_='hello_label_id', text='Hello, %s!' % name)
     screen.AddButton(id_='reset_button_id',
                      text='Reset',
                      on_click=ApplicationTestService.OnResetButton)
     return screen
Exemplo n.º 12
0
 def OnDeleteNote(self, screen, element):
     note_id = screen.GetStringVariable(id_='current_note_id').GetValue()
     screen = fase.Screen(self)
     alert = screen.AddAlert('Delete the Note?')
     alert.AddButton(id_="ok_id",
                     text="OK",
                     on_click=NotesService.OnDeleteNoteOK)
     alert.AddButton(id_="cancel_id",
                     text="Cancel",
                     on_click=NotesService.OnDeleteNoteCancel)
     screen.AddStringVariable(id_='current_note_id', value=note_id)
     return screen
Exemplo n.º 13
0
    def _DisplayNotesByFunc(self, screen_label, key_func, reverse, filter_func,
                            title, screen):
        screen = fase.Screen(self)
        screen.SetTitle(title)
        screen.SetScrollable(True)
        self._AddButtons(screen, screen_label)
        notes_frame = screen.AddFrame(id_='notes_frame',
                                      orientation=fase.Frame.VERTICAL)
        notes = notes_database.NotesDatabaseInterface.Get().GetUserNotes(
            self.GetUserId())
        if filter_func:
            notes = filter(filter_func, notes)
        for note in sorted(notes, key=key_func, reverse=reverse):
            note_frame = notes_frame.AddFrame(id_='note_frame_%s' %
                                              note.note_id,
                                              orientation=fase.Frame.VERTICAL,
                                              on_click=NotesService.OnNote)
            note_frame.AddStringVariable(id_='frame_note_id',
                                         value=note.note_id)

            note_header_frame = note_frame.AddFrame(
                id_='note_header_frame',
                orientation=fase.Frame.HORIZONTAL,
                size=fase.Label.MAX)
            note_header_frame.AddLabel(id_='note_header_label',
                                       text=note.header,
                                       font=fase.Font(size=1.5),
                                       size=fase.Label.MAX,
                                       align=fase.Label.LEFT)
            note_header_frame.AddImage(
                id_='note_header_image',
                filename=('images/favourite_2/[email protected]'
                          if note.favourite else
                          'images/favourite_2/[email protected]'),
                pixel_density_mult=1.5)

            note_frame.AddLabel(id_='note_frame_label',
                                text=note.text[:PREVIEW_LENGTH],
                                align=fase.Label.LEFT)

            datetime_text = datetime_util.GetDatetimeDiffStr(
                note.datetime, datetime.datetime.utcnow())
            note_deails_frame = note_frame.AddFrame(
                id_='note_deails_frame', orientation=fase.Frame.HORIZONTAL)
            note_deails_frame.AddLabel(id_='note_deails_frame_datetime_text',
                                       text=datetime_text,
                                       font=fase.Font(size=0.75),
                                       size=fase.Label.MAX,
                                       align=fase.Label.RIGHT)
            note_frame.AddSeparator()
        return screen
Exemplo n.º 14
0
def OnActivationCodeSent(service, screen, element):
    screen = fase.Screen(service)
    screen.SetTitle('Activation Code')
    enter_activation_frame = screen.AddFrame(id_='enter_activation_frame_id',
                                             orientation=fase.Frame.VERTICAL)
    enter_activation_frame.AddText(id_='activation_code_text_id',
                                   hint='Activation Code',
                                   type_=fase.Text.DIGITS)
    enter_activation_frame.AddElement(id_='send_button_id',
                                      element=FaseSignInButton(
                                          text='Send',
                                          on_click=fase.FunctionPlaceholder))
    screen.AddPrevStepButton(text='Back', on_click=OnSignInStart)
    return screen
Exemplo n.º 15
0
def OnSignInOption(service, screen, element):
    screen = fase.Screen(service)
    screen.SetTitle('Sign In')
    sign_in_frame = screen.AddFrame(id_='sign_in_frame_id',
                                    orientation=fase.Frame.VERTICAL)
    sign_in_frame.AddText(id_='phone_number_text_id',
                          hint='Phone Number',
                          type_=fase.Text.PHONE)
    sign_in_button = sign_in_frame.AddButton(id_='sign_in_button_id',
                                             text='Sign In',
                                             on_click=OnSignInEnteredData)
    sign_in_button.SetRequestLocale(True)
    screen.AddPrevStepButton(text='Back', on_click=OnSignInStart)
    return screen
Exemplo n.º 16
0
def OnSignInStart(service, screen, element):
    screen = fase.Screen(service)
    screen.SetTitle('Sign In')
    sign_in_frame = screen.AddFrame(id_='sign_in_frame_id',
                                    orientation=fase.Frame.VERTICAL)
    sign_in_frame.AddButton(id_='sign_in_button_id',
                            text='Sign In',
                            on_click=OnSignInOption)
    sign_in_frame.AddButton(id_='sign_up_button_id',
                            text='Sign Up',
                            on_click=OnSignUpOption)
    if service.HasFunctionVariable(id_='fase_sign_in_on_skip_class_method'):
        sign_in_frame.AddButton(id_='skip_button_id',
                                text='Skip',
                                on_click=OnSignInSkipOption)
    if service.HasFunctionVariable(id_='fase_sign_in_on_cancel_class_method'):
        screen.AddPrevStepButton(text='Cancel', on_click=OnSignInCancelOption)
    return screen
Exemplo n.º 17
0
def StartSignOut(service, on_cancel=None):
    assert service.IfSignedIn()

    screen = fase.Screen(service)
    screen.SetTitle('Sign Out')
    screen.AddLabel(id_='user_name_label_id',
                    text=service.GetUser().DisplayName())
    sign_out_frame = screen.AddFrame(id_='sign_out_frame_id',
                                     orientation=fase.Frame.VERTICAL)
    sign_out_frame.AddElement(id_='sign_out_button_id',
                              element=FaseSignOutButton(
                                  text='Sign Out',
                                  on_click=fase.FunctionPlaceholder))
    if service.HasFunctionVariable(id_='fase_sign_out_on_cancel_class_method'):
        service.PopFunctionVariable(id_='fase_sign_out_on_cancel_class_method')
    if on_cancel is not None:
        service.AddFunctionVariable(id_='fase_sign_out_on_cancel_class_method',
                                    value=on_cancel)
        screen.AddPrevStepButton(text='Cancel', on_click=OnSignOutCancelOption)
    return screen
Exemplo n.º 18
0
    def _DisplayNote(self, note_id, screen):
        screen = fase.Screen(self)
        screen.AddStringVariable(id_='current_note_id', value=note_id)
        note = notes_database.NotesDatabaseInterface.Get().GetNote(
            note_id=note_id) if note_id is not None else None
        favourite_bool = screen.AddBoolVariable(id_='favourite_bool',
                                                value=note is not None
                                                and note.favourite)

        note_frame = screen.AddFrame(id_='note_frame',
                                     orientation=fase.Frame.VERTICAL,
                                     size=fase.Frame.MAX)
        note_frame.AddImage(
            id_='favourite_image',
            filename=('images/favourite_2/[email protected]'
                      if favourite_bool.GetValue() else
                      'images/favourite_2/[email protected]'),
            pixel_density_mult=1.5,
            align=fase.Image.RIGHT,
            on_click=NotesService.OnReverseFavouriteNote)
        header_text = note_frame.AddText(id_='header_text', hint='Header')
        text_text = note_frame.AddText(id_='text_text',
                                       hint='Text',
                                       size=fase.Label.MAX,
                                       multiline=True)
        if note_id is not None:
            note_frame.AddImage(id_='delete_image',
                                filename='images/delete/[email protected]',
                                pixel_density_mult=1.5,
                                align=fase.Image.RIGHT,
                                on_click=NotesService.OnDeleteNote)

        # If editing existing note.
        if note is not None:
            header_text.SetText(note.header)
            text_text.SetText(note.text)

        screen.AddNextStepButton(text='Save', on_click=NotesService.OnSaveNote)
        screen.AddPrevStepButton(text='Back',
                                 on_click=NotesService.OnCancelNote)
        return screen
Exemplo n.º 19
0
 def testPrepareScreenResources(self):
     device = fase_model.Device(device_type='MockType',
                                device_id='MockDeviceID')
     _, session_info, _ = self._GetServiceAndAssert(device)
     service_prog = fase_database.FaseDatabaseInterface.Get(
     ).GetServiceProg(session_info.session_id)
     screen = fase.Screen(service_prog.service)
     frame1 = screen.AddFrame(id_='frame1_id')
     frame1.AddImage(id_='image1_id', filename=self.file1_filename)
     frame1.AddImage(id_='image2_id', filename=self.file2_filename)
     frame1.AddImage(id_='image3_id', filename=self.file3_filename)
     frame2 = screen.AddFrame(id_='frame2_id')
     frame2.AddImage(id_='image1_id', filename=self.file1_filename)
     frame2.AddImage(id_='image2_id', filename=self.file2_filename)
     frame2.AddImage(id_='image3_id', filename=self.file3_filename)
     _, resources = fase_server.PrepareScreen(screen, device)
     self.assertEqual(
         set([
             fase_model.Resource(filename=self.file1_filename),
             fase_model.Resource(filename=self.file2_filename)
         ]), set(resources.resource_list))
Exemplo n.º 20
0
def _OnRequestUserData(service, screen, element, request_user_data, user):
    screen = fase.Screen(service)
    screen.SetTitle('Enter Data')
    enter_frame = screen.AddFrame(id_='enter_frame_id',
                                  orientation=fase.Frame.VERTICAL)

    if request_user_data.date_of_birth and user.date_of_birth is None:
        enter_frame.AddDateTimePicker(id_='date_of_birth_date_picker',
                                      type_=fase.DateTimePicker.DATE,
                                      hint='Date of Birth')
    if request_user_data.home_city and user.home_city is None:
        enter_frame.AddPlacePicker(id_='home_city_place_picker',
                                   type_=fase.PlacePicker.CITY,
                                   hint='Home City')

    enter_button = enter_frame.AddButton(id_='enter_button_id',
                                         text='Enter',
                                         on_click=OnRequestUserDataEnteredData)
    enter_button.SetRequestLocale(True)
    screen.AddPrevStepButton(text='Back', on_click=OnSignInStart)
    return screen
Exemplo n.º 21
0
 def OnStart(self):
     return fase.Screen(self)
Exemplo n.º 22
0
def _ErrorAlert(service, message, on_click):
    screen = fase.Screen(service)
    alert = screen.AddAlert(message)
    alert.AddButton(id_="ok_id", text="OK", on_click=on_click)
    return screen