Commit 1bc6519a authored by Gabriel Silva Hermida's avatar Gabriel Silva Hermida

Issue #10: Adicionada rota para atualizar jogador

Signed-off-by: Gabriel Silva Hermida's avatarGabriel_S <gash18@inf.ufpr.br>
parent 66f3600d
Pipeline #22096 passed with stage
in 52 seconds
......@@ -136,7 +136,6 @@ describe("Arquivo main.ts", () => {
})
.end(done);
});
// Testando o erro na atualização do jogo com app.put("/jogo/:id")
it("Fracassa em atualizar jogo por id inválido", (done) => {
request(server)
......@@ -299,4 +298,73 @@ describe("Arquivo main.ts", () => {
.end(done);
});
// Fim do teste em app.post("/jogador")
// Testando o sucesso na atualização do jogador com app.put("/jogador/:id")
it("Atualiza um jogador", (done) => {
request(server)
.put("/jogador/0")
.send({nome: "Diavolo"})
.expect(200)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("O jogador foi atulaizado com sucesso.");
})
.end(done);
});
// Testando o erro na atualização do jogador com app.put("/jogador/:id")
it("Fracassa em atualizar jogador por parâmetro inválido", (done) => {
request(server)
.put("/jogador/0")
.send({nome: undefined})
.expect(400)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("Nome não informado");
})
.end(done);
});
// Testando o erro na atualização do jogador com app.put("/jogador/:id")
it("Fracassa em atualizar jogador por parâmetro inválido", (done) => {
request(server)
.put("/jogador/0")
.send({nome: 890})
.expect(400)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("Nome inválido");
})
.end(done);
});
it("Falha em atualizar um jogador por inexistencia", (done) => {
request(server)
.put("/jogador/10000000")
.send({nome: "Kira"})
.expect(400)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("O jogador não existe no banco");
})
.end(done);
});
it("Falha em atualizar um jogador por busca inapropriada", (done) => {
request(server)
.put("/jogador/hhasduihauisd")
.send({nome: "Kira"})
.expect(400)
.expect((res: any) => {
expect(res.body).to.be.an("object");
expect(res.body).to.have.property("msg");
expect(res.body.msg).to.be.an("string");
expect(res.body.msg).to.be.eql("Busca inapropriada");
})
.end(done);
});
});
......@@ -39,6 +39,31 @@ app.post("/jogador", (req: Request, res: express.Response) => {
res.json({msg: "Jogador inserido com sucesso."});
});
app.put("/jogador/:id", (req: Request, res: express.Response) => {
if (!(req.body.nome)) {
res.status(400).json({msg: "Nome não informado"});
return;
}
if (typeof req.body.nome !== "string") {
res.status(400).json({msg: "Nome inválido"});
return;
}
const id: number = Math.abs(parseInt(req.params.id, 10));
if (isNaN(id)){
res.status(400).json({msg: "Busca inapropriada"});
return;
}
if (id > req.db.list("jogadores").length){
res.status(400).json({msg: "O jogador não existe no banco"});
return;
}
const jogador: Jogador = new Jogador(req.body.name, [], [], 0);
req.db.updateplayer(id, jogador);
res.json({msg: "O jogador foi atulaizado com sucesso."});
});
app.get("/", (req: Request, res: express.Response) => {
const jogo1: Jogo = new Jogo("Portal 2", "Valve", "Valve", new Date("2012-01-01"), 25);
const jogo2: Jogo = new Jogo("The Witcher 3", "CD Projekt RED", "CD Projekt RED", new Date("2016-01-01"), 10);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment