class DeleteFile(Test): schema = Schema() _uses_file_upload = 1 def setUp(self): interpreter.open("") user = dataprovider.cmfplone.user.get('sampleadmin') logical.cmfplone.application.login(user) self.article = dataprovider.plonearticle.article.get("article1") files = [ dataprovider.plonearticle.articlefile.get("File 1"), ] images = [] links = [] scripts.plonearticle.article.existing_article_with_attachments( self.article, files, images, links) def step_1(self): file = dataprovider.plonearticle.articlefile.get("File 1") "Delete a file in an article" logical.plonearticle.article.delete_file(file) logical.plonearticle.article.save_article(self.article) def test(self): self.expect_ok(1)
class AddLink(Scenario): schema = Schema() def setUp(self): interpreter.open("") user=dataprovider.cmfplone.user.get('sampleadmin') logical.cmfplone.application.login(user) self.article = dataprovider.plonearticle.article.get("article1") scripts.plonearticle.article.existing_article(self.article) def step_1(self): "Add a link to an article and save the article" interpreter.annotate("Test: Add a link to the article and save the article") link = dataprovider.plonearticle.articlelink.get("Link 1") logical.plonearticle.article.add_link(link) logical.plonearticle.article.save_article(self.article) def test(self): self.expect_ok(1)
class AddFile(Scenario): """ Add a file to an article Preparation: 1. Choose a user 2. Choose a context 3. Choose an article 3. Choose a file for the article Use Case: 1. Add file to article 2. Save article """ schema = Schema({ "user": dataprovider.cmfplone.user, "context": dataprovider.cmfplone.context, "article": dataprovider.plonearticle.article, "articlefile": dataprovider.plonearticle.articlefile, }) _uses_file_upload = 1 def setUp(self): scenarios.cmfplone.login(user=self._user) scenarios.cmfplone.navigateto(context=self._context) scenarios.cmfplone.addcontent(content=self._article) def step_1(self): logical.plonearticle.article.add_file(self._articlefile) def step_2(self): logical.plonearticle.article.save_article(self._article) def scenario(self): """ Add a file to an article """ self.expect_ok(1, 2)
class BrowseImage(Test): schema = Schema() _uses_file_upload = 1 def setUp(self): interpreter.open("") user=dataprovider.cmfplone.user.get('sampleadmin') logical.cmfplone.application.login(user) article = dataprovider.plonearticle.article.get("article1") scripts.plonearticle.article.existing_article(article) def step_1(self): "Browse an image to be added to the article" interpreter.annotate("Test: Browe a image to be added to the article") image = dataprovider.plonearticle.articleimage.get("Image 1") logical.plonearticle.article.browse_image(image) def test(self): self.expect_ok(1)
class AddFile(Test): schema = Schema() _uses_file_upload = 1 def setUp(self): interpreter.open("") user = dataprovider.cmfplone.user.get('sampleadmin') logical.cmfplone.application.login(user) self._article = dataprovider.plonearticle.article.get("article1") scenarios.cmfplone.addcontent(content=self._article) def step_1(self): "Add a file to an article" interpreter.annotate("Test: Add a file to the article") file = dataprovider.plonearticle.articlefile.get("File 1") logical.plonearticle.article.add_file(file) logical.plonearticle.article.save_article(self._article) def test(self): self.expect_ok(1)
class AddImage(Test): schema = Schema() _uses_file_upload = 1 def setUp(self): interpreter.open("") user = dataprovider.cmfplone.user.get('sampleadmin') logical.cmfplone.application.login(user) self.article = dataprovider.plonearticle.article.get("article1") scripts.plonearticle.article.existing_article(self.article) def step_1(self): "Add an image to an article and save the article" interpreter.annotate( "Test: Add an image to the article and save the article") image = dataprovider.plonearticle.articleimage.get("Image 1") # Normal attachment upload logical.plonearticle.article.add_image(image) logical.plonearticle.article.save_article(self.article) def test(self): self.expect_ok(1) def test_add_non_existing_image(self): "Try adding a non-existing image to an article" interpreter.annotate( "Test: Try adding a non-existing image to an article") image = dataprovider.plonearticle.articleimage.get( "Non-existing Image") physical.cmfplone.tab.access("edit") physical.cmfplone.schemata.access("images") physical.plonearticle.attachment_upload.access() physical.plonearticle.attachment_upload.fill(image) physical.plonearticle.attachment_upload.save(image, "error") interpreter.verifyTextPresent( "Image upload error: cannot identify image file") # Due to differences in the *chrome mode, the following error is not produced: # interpreter.verifyTextPresent("Error: Zero file size") physical.plonearticle.attachment_upload.cancel() logical.plonearticle.article.save_article(self.article) def test_cancel_adding_an_image(self): "Cancel adding an image" interpreter.annotate("Test: Add an image to the article and cancel") image = dataprovider.plonearticle.articleimage.get("Image 1") physical.cmfplone.tab.access("edit") physical.cmfplone.schemata.access("images") physical.plonearticle.attachment_upload.access() physical.plonearticle.attachment_upload.fill(image) # Not saving here. physical.plonearticle.attachment_upload.cancel() logical.plonearticle.article.save_article(self.article) def test_add_two_images_and_change_position(self): "Add two images and change their position" interpreter.annotate("Test: Add two images and change their position") images = [] images.append(dataprovider.plonearticle.articleimage.get("Image 1")) images.append(dataprovider.plonearticle.articleimage.get("Image 2")) logical.plonearticle.article.add_multiple_images(images) # Change position of images interpreter.click("//a[@class='file_move_down'][1]") interpreter.click("//a[@class='file_move_down'][1]") logical.plonearticle.article.save_article(self.article)