Skip to content

Commit

Permalink
Criando post_produto_test
Browse files Browse the repository at this point in the history
  • Loading branch information
AndressaKarla committed Mar 1, 2024
1 parent 17c8a72 commit 447a21f
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 0 deletions.
21 changes: 21 additions & 0 deletions spec/requests/produto_request.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
require 'httparty'
require 'faker'

class Produto
include HTTParty

def gerar_numeros_aleatorios(qtde_numeros)
text = ""
possible = "0123456789"

for i in 0..qtde_numeros - 1 do
text += possible[rand() * possible.length]
end

return text
end

def post_produto(nome, preco, descricao, quantidade, token)
BaseApi.post('/produtos', body: { nome: nome, preco: preco, descricao: descricao, quantidade: quantidade }.to_json, headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', 'Authorization': token })
end
end
4 changes: 4 additions & 0 deletions spec/support/request_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,8 @@ def login
def usuario
@usuario ||= Usuario.new
end

def produto
@produto ||= Produto.new
end
end
41 changes: 41 additions & 0 deletions spec/tests/post_produto_test.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
describe "Produtos" do
before(:all) do
@usuario_fixture = carregar_fixture('usuario')

email_usuario_padrao_valido1 = @usuario_fixture['padrao_valido1']['email_valido1']
obter_por_email_e_excluir_usuario_por_id(email_usuario_padrao_valido1)

email_usuario_admin_valido1 = @usuario_fixture['admin_valido1']['email_valido1']
obter_por_email_e_excluir_usuario_por_id(email_usuario_admin_valido1)
end

context "POST produto 1" do
before(:all) do
@nome_sobrenome = @usuario_fixture['admin_valido1']['nome_sobrenome_valido1']
@email = @usuario_fixture['admin_valido1']['email_valido1']
@senha = @usuario_fixture['admin_valido1']['senha_valida1']

@json_data_post_usuario = usuario.post_usuario_admin(@nome_sobrenome, @email, @senha)
@json_data_post_login = login.post_login(@email, @senha)
@token_administrador = @json_data_post_login['authorization']

@numero1 = produto.gerar_numeros_aleatorios(4)
@nome_produto = "Nome produto 1 - " + "#{@numero1}"
@preco = produto.gerar_numeros_aleatorios(3)
@descricao = "Descrição produto 1 - " + "#{@numero1}"
@quantidade = "1"

@json_data_post_produto = produto.post_produto(@nome_produto, @preco, @descricao, @quantidade, @token_administrador)
@id_obtido = @json_data_post_produto['_id']
@message_obtida = @json_data_post_produto['message']
@message_esperada = "Cadastro realizado com sucesso"
end

it "POST produto 1 - Validar status 201 Created e dados retornados com sucesso" do
expect(@json_data_post_produto.code).to eq(201)
expect(@json_data_post_produto.message).to eq("Created")
expect(@message_obtida).to include(@message_esperada)
expect(@id_obtido).to_not be_nil
end
end
end

0 comments on commit 447a21f

Please sign in to comment.