Exemplo n.º 1
0
class TestPost(unittest.TestCase):

	def setUp(self):
		tag = TagCategory()
		self.post = Post(title='Primeiro post',
						 text='<b>Nose test e fd</b>',
						 tags=tag.string_to_category('python, nose, tdd'))

		self.post.put()
		
	def test_verifica_se_post_foi_salvo_corretamente(self):
		assert_equals(self.post.url, 'primeiro-post')

	def test_verifica_se_texto_foi_salvo_corretamente(self):
		assert_equals(self.post.text, u'<b>Nose test e fd</b>')

	def test_verifica_se_tags_property_criado_corretamente(self):
		tag = TagCategory()
		categories = tag.string_to_category('python, nose, tdd')
		assert_equals(self.post.tags, categories)

	def test_verifica_se_title_foi_salvo_corretamente(self):
		assert_equals(self.post.title, 'Primeiro post')

	def test_apos_salvar_post_put_deve_retornar_a_chave_da_entidade(self):
		tag = TagCategory()
		post = Post(title='Primeiro post',
					text='<b>Nose test e fd</b>',
					tags=tag.string_to_category('python, nose, tdd'))
		
		assert_true(type(post.put().id()).__name__ == 'int')
		post.delete()
				
	def tearDown(self):
		self.post.delete()
Exemplo n.º 2
0
class TestPost(unittest.TestCase):
    def setUp(self):
        tag = TagCategory()
        self.post = Post(title='Primeiro post',
                         text='<b>Nose test e fd</b>',
                         tags=tag.string_to_category('python, nose, tdd'))

        self.post.put()

    def test_verifica_se_post_foi_salvo_corretamente(self):
        assert_equals(self.post.url, 'primeiro-post')

    def test_verifica_se_texto_foi_salvo_corretamente(self):
        assert_equals(self.post.text, u'<b>Nose test e fd</b>')

    def test_verifica_se_tags_property_criado_corretamente(self):
        tag = TagCategory()
        categories = tag.string_to_category('python, nose, tdd')
        assert_equals(self.post.tags, categories)

    def test_verifica_se_title_foi_salvo_corretamente(self):
        assert_equals(self.post.title, 'Primeiro post')

    def test_apos_salvar_post_put_deve_retornar_a_chave_da_entidade(self):
        tag = TagCategory()
        post = Post(title='Primeiro post',
                    text='<b>Nose test e fd</b>',
                    tags=tag.string_to_category('python, nose, tdd'))

        assert_true(type(post.put().id()).__name__ == 'int')
        post.delete()

    def tearDown(self):
        self.post.delete()
Exemplo n.º 3
0
	def test_delete_post(self):
		self.admin_loggend(5)
		tag = TagCategory()
		post = Post(title='Primeiro post',
					text='<b>Nose test e fd</b>',
					tags=tag.string_to_category('python, nose, tdd'))
		post.put()
		url="%i/delete" % post.key().id()			
		self.app.get(url)
		post = Post.get_by_id( post.key().id() )
		assert_true(post is None)	
Exemplo n.º 4
0
	def test_apos_salvar_post_put_deve_retornar_a_chave_da_entidade(self):
		tag = TagCategory()
		post = Post(title='Primeiro post',
					text='<b>Nose test e fd</b>',
					tags=tag.string_to_category('python, nose, tdd'))
		
		assert_true(type(post.put().id()).__name__ == 'int')
		post.delete()
Exemplo n.º 5
0
    def test_apos_salvar_post_put_deve_retornar_a_chave_da_entidade(self):
        tag = TagCategory()
        post = Post(title='Primeiro post',
                    text='<b>Nose test e fd</b>',
                    tags=tag.string_to_category('python, nose, tdd'))

        assert_true(type(post.put().id()).__name__ == 'int')
        post.delete()
Exemplo n.º 6
0
class TestView(unittest.TestCase):

	def setUp(self):
		self.app  = app.test_client()
		tag = TagCategory()
		self.post = Post(title='Primeiro post',
						 text='<b>Nose test e fd</b>',
						 tags=tag.string_to_category('python, nose, tdd'))

		self.post.put() 
		self.mocker = mocker.Mocker()
		
	def tearDown(self):
		self.post.delete()
		self.mocker.restore()
		
	def test_index(self):
		response =  self.app.get('/')
		assert_true('<title> rlopes | Henrique Lopes</title>' in str(response.data) )

	def test_read_post(self):
		response = self.app.get("/%s" % self.post.url)
		title = '<h3><span><a href="/%s">%s</a></span></h3>' % (self.post.url, self.post.title)
		assert_true(title in str(response.data))

	def test_read_post_that_not_exist(self):
		response = self.app.get("/post/meu-primeiro-post")
		assert_true('<title> Ops! Error 404 | Henrique Lopes</title>' in str(response.data))
		
	def admin_loggend(self, times=1):
		loggend = self.mocker.replace('google.appengine.api.users.is_current_user_admin')
		loggend()
		self.mocker.result(True)
		self.mocker.count(times)
		self.mocker.replay()

	def test_form_insert(self):
		self.admin_loggend(10)
		response = self.app.get("/post/form")
		assert_true('<title> Criar post | Henrique Lopes</title>' in str(response.data))	

	def test_form_update(self):
		self.admin_loggend(5)
		url = "/%i/form" % self.post.key().id()
		response = self.app.get(url)
		title = '<title> Update - %s | Henrique Lopes</title>' % self.post.title
		assert_true(title in str(response.data))

	def test_form_update_error(self):
		self.admin_loggend(5)
		url = "/%i/form" % 1
		response = self.app.get(url)
		title = '<title> Ops! Error 404 | Henrique Lopes</title>'
		assert_true(title in str(response.data))
			
	def test_create_post(self):
		self.admin_loggend(10)
		data = {
			'title':"My first post. bla bla bla",
			'tags':"python,tdd",
			'text':"bla bla bla bla bla bla bla bla"
		}
		response = self.app.post("/create", data=data, follow_redirects=True)
		post = Post.all().filter('url', slug(data['title'])).get()			
		assert_equals(post.title, data['title'])
		post.delete()

	def test_create_post_validate(self):
		self.admin_loggend(10)
		data={}
		response = self.app.post("/create", data=data, follow_redirects=True)
		assert_true("O Titulo deve ter entre 5 a 60 caracteres." in str(response.data))

	def test_update_post(self):
		self.admin_loggend(10)
		data={
			'title':"My uppdates.",
			'tags':"python, nose, tdd, dojo",
			'text':"<b>Nose test e fd</b>"
		}
		url = "%i/update" % self.post.key().id()
		response = self.app.post(url, data=data, follow_redirects=True)
		post = Post.get_by_id( self.post.key().id() )
		assert_equals(post.title, data['title'] )

	def test_update_post_validate(self):
		self.admin_loggend(10)
		data={
			'title':"My uppdates.",
			'tags':"python, nose, tdd, dojo",
			'text':""
		}
		url = "%i/update" % self.post.key().id()
		response = self.app.post(url, data=data, follow_redirects=True)
		assert_true("O Texto deve ter no minimo 5 caracteres." in str(response.data))

	def tags_to_string(self, tags):
		tstr = ""
		for tag in tags:
			tstr += "%s," % tag
		return tstr[:-1]
		
	def test_form_populate(self):
		self.admin_loggend(10)
		url = "%i/form" % self.post.key().id()
		response = self.app.get(url)
		dom = html.fromstring(response.data)
		input_title = dom.xpath('//input[@type="text" and @name="title"]')[0]
		input_tags = dom.xpath('//input[@type="text" and @name="tags"]')[0]
		textare_text = dom.xpath('//textarea[@name="text"]')[0]
		assert_equals(input_title.value, self.post.title)
		assert_equals(input_tags.value, self.tags_to_string(self.post.tags))
		assert_equals(textare_text.value, self.post.text) 
					
	def test_delete_post(self):
		self.admin_loggend(5)
		tag = TagCategory()
		post = Post(title='Primeiro post',
					text='<b>Nose test e fd</b>',
					tags=tag.string_to_category('python, nose, tdd'))
		post.put()
		url="%i/delete" % post.key().id()			
		self.app.get(url)
		post = Post.get_by_id( post.key().id() )
		assert_true(post is None)	

	def test_send_email(self):
		data = {
			'nome':"Henrique",
			'email':"*****@*****.**",
			'mensagem':"O blog esta ficando bom."
		}
		response = self.app.post('/contact', data=data, follow_redirects=True)
		assert_true("True", str(response.data))

	def test_send_email_error(self):
		data={
			'nome':"",
			'email':"*****@*****.**",
			'text':""
		}
		response= self.app.post('/contact', data=data, follow_redirects=True)
		assert_true("[['#mensagem', 'false', 'Digite sua mensagem'],\
					 ['#nome', 'false', 'Digite seu nome']]", str(response.data))