def post(self, highlighted_text=u'', workspace=None, list_=[]): first_5_words = u' '.join(highlighted_text.split()) first_5_words = u' '.join(first_5_words.split(" ")[:5]) user = request.identity['user'] content = [] for elem in list_: type, _id = elem.split("_") _model = ResolveController.related_models[type] o = _model.query.get(ObjectId(_id)) content.append({ 'type': type, 'title': o.title, 'content': _id }) title = _(u'Output ') + first_5_words output = model.Output( _owner=user._id, _category=workspace, title=title, content=content, public=True, visible=True, html=highlighted_text ) return dict(_id=str(output._id), title=title)
def test_document_content_validator(self): with test_context(self.app): model.Output( title="FakeOutput", content="Content of the fake output", html='', _owner=self._get_user('*****@*****.**')._id, _category=self._get_category('Area 1')._id, _precondition=None, ) DBSession.flush() output = model.Output.query.get(title="FakeOutput") validator = DocumentContentValidator() try: res = validator._validate_python([ { 'type': "output", 'content': str(output._id), 'title': output.title }, ]) except ValidationError: assert False else: assert True
def test_output_exist_validator(self): model.Output(title="Fake_output", html='', _owner=self._get_user('*****@*****.**')._id, _workspace=self._get_workspace('Area 1')._id, _precondition=None) DBSession.flush() output = model.Output.query.get(title="Fake_output") validator = OutputExistValidator() try: res = validator._validate_python(str(output._id)) except ValidationError: assert False else: assert True
def post(self, title, content, category, precondition, **kw): content = content or [] # Check content precondition element error = self._validate_precondition_with_qa(precondition, content) if error: return error user = request.identity['user'] model.Output(_owner=user._id, _category=ObjectId(category), _precondition=ObjectId(precondition), title=title, content=content, public=True, visible=True, html=kw['ks_editor']) return dict(errors=None)
def test_document_content_validator(self): with test_context(self.app): model.Output( title="FakeOutput", html='', _owner=self._get_user('*****@*****.**')._id, _workspace=self._get_workspace('Area 1')._id, _precondition=None, ) DBSession.flush() output = model.Output.query.get(title="FakeOutput") validator = DocumentContentValidator() try: res = validator._validate_python('#{%s}' % str(output.hash)) except ValidationError: assert False else: assert True