def test_project_define_photo(self, parg, mocker):
     gpa = mocker.patch('picovico.cli.project_driver.get_project_api')
     mocker.patch('picovico.cli.project_driver.save_project_data')
     mapi = mocker.Mock(spec=PicovicoAPI)
     gpa.return_value = mapi
     mwarn = mocker.patch('picovico.cli.project_driver.prompt.show_warning')
     if 'component' in parg and not any(k in parg and parg[k] for k in ('url', 'filename', 'id')):
         with pytest.raises(AssertionError):
             pv_project_driver.project_cli_action(**parg)
             assert mwarn.called
     else:
         s = pv_project_driver.project_cli_action(**parg)
         check_define_arg(mapi.project, parg)
 def test_project_begin(self, parg, mocker):
     gpa = mocker.patch('picovico.cli.project_driver.get_project_api')
     mocker.patch('picovico.cli.project_driver.save_project_data')
     mapi = mocker.Mock(spec=PicovicoAPI)
     gpa.return_value = mapi
     s = pv_project_driver.project_cli_action(**parg)
     mapi.project.begin.assert_called_once_with(parg.get('name', None))
     for k in parg:
         if k != 'project':
             d = {'value': parg[k]}
             meth = getattr(mapi.project, 'set_{}'.format(k))
             meth.assert_called_with(**d)