Como alterar a propriedade de um registro em db com cypress.io

user10983481

sou novo no cypress e gostaria de saber como posso fazer as seguintes verificações: Tenho caso: tenho um produto no banco de dados, que pode ter os status: InStock e OutOfStock e Descontinuado. Se o produto estiver com o status 'InStock', devo ser capaz de despachá-lo para um cliente, se em 'OutOfStock' / 'Descontinuado' eu não devo ser capaz de enviar para um cliente. Com uma chamada da API, posso enviar o produto a um cliente. Se o produto está no status 'InStock', a resposta da API é 200, se não a resposta é com statusCode 400. Minha pergunta é: Como posso alterar o status do produto no banco de dados para cada teste, para que eu possa verificar cada dos 3 status (se a API retornar a resposta adequada)? Eu sei como verificar a resposta da API em si, mas não está claro para mim como alterar o status do produto no banco de dados, antes de cada teste.

dwelle

Ao contrário do @Maccurt, eu faria da maneira que você propõe (altere o banco de dados), para que você possa testar o fluxo do e2e corretamente.

E em vez de configurar rotas de teste que gravariam no banco de dados, você pode usar cy.taskpara falar com o processo de nó do Cypress Runner, que pode gravar no banco de dados diretamente. Seria assim:

Usando postgres ( node-postgres ) neste exemplo.

your-test.spec.js

describe("test", () => {
    it("test", () => {
        cy.task("query", {
            sql: `
                UPDATE product
                SET status = $1
                WHERE id = $2
            `,
            values: [ "InStock", 40 ]
        });

        // your cy assertions here
    });
});

cypress/plugins/index.js

const pg = require("pg");
const pool = /* initialize your database connection */;

module.exports = ( on ) => {

    on( "task", {
        query ({ sql, values }) {

            return pool.query( sql, values );
        }
    });
});

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Em F #, como alterar uma propriedade de uma propriedade dentro de um registro (sintaxe?)

Como alterar um valor de propriedade em array com objetos

Em F #, como usar corretamente ResizeArray () e um acumulador em um Array.map para alterar a propriedade de um registro

Como posso alterar a ordem do registro de dados com expressão regular e colocá-lo junto em um único dataframe?

Como alterar índices em array com sub arrays com valor de propriedade de subarray em PHP

Como alterar dinamicamente o ControlTemplate com base em uma propriedade em um ViewModel?

Como alterar a propriedade de estilo em um componente React sem alterar todos eles

android: como alterar a propriedade de layout_gravity de um row_item em um listview

Como alterar uma propriedade de um objeto gerado em seu objeto gerador usando um controle deslizante

Alterar itens de um editor de propriedades suspenso com base em outra propriedade?

Como alterar valores em array de objetos com um onClick?

como alterar dict de dataframes em um dataframe com multicolunas

Como alterar a propriedade de um conteúdo de botão com gatilho

como alterar o valor da propriedade de um objeto aninhado em uma árvore de nós?

Como alterar uma propriedade de outros elementos de uma lista quando um deles tocou em Flutter

Encontre um registro em db com um intervalo de OffsetDateTime em Java

como definir um nome de propriedade com base em outra propriedade em Application.yaml

Como garantir a exclusividade de uma propriedade em um registro NoSQL (Golang + tieot)

Alterar o valor real de uma propriedade em um objeto com base na subclasse

Como alterar o valor de uma propriedade com um evento onClick no React

Como posso alterar a propriedade "visible" de uma imagem a com um script js?

Como posso alterar o valor do campo de propriedade estática em um decorador de propriedade no TypeScript?

Como acessar e alterar o valor da propriedade de um widget específico em uma lista

Como alterar a propriedade de uma classe css ao clicar em um botão?

Como alterar uma propriedade de um objeto em QML ao passar o mouse?

Como posso alterar o valor de uma propriedade em uma lista para apenas um valor quando o valor da propriedade é ()?

Propriedade para alterar um atributo de objeto em um objeto

como adicionar propriedade a propriedade de um objeto com base na condição em javascript?

Como obter o valor máximo da propriedade em um objeto com nome de propriedade duplicado?