Limpiar las cookies para cada prueba que no funciona.Utilizando karma + qunit (usando Pavlov) + Ember.Corriendo en Phantomjs / Chrome

StackOverflow https://stackoverflow.com//questions/22074789

Pregunta

Necesito borrar una cookie de inicio de sesión antes de cada prueba, ya que las pruebas anteriores podrían haber almacenado la cookie.Esto es lo que tengo en este momento, pero no parece deshacerse de las cookies / credenciales, ya que las solicitudes de clientes aún obtienen 200 después de dicha eliminación.Cualquier ayuda sería muy apreciada.

 var clearCookies = function() {
        var cookiesToDelete = ["cookie1", "cookie2"]
        cookiesToDelete.forEach(function(cookie) {
            document.cookie = cookie + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT; domain=.domain.com";
        })

Prueba:

describe("CRITERIA 1:", function () {
    before(function () {
        clearCookies() // Clearing cookies prior to test
        App.reset()
        visit('/')
    })
    it(function() {
        //asserts in here seem to still use cookie!          
    })
})

AJAX llamado dentro de la declaración de afirmación que aún obtiene un 200 después de la "eliminación de cookies"

$.ajax({
    url: clientUrl,
    dataType: "json",
    xhrFields: {
        withCredentials: true
    },
    success: function() {},
    error: function() {}
})

¿Fue útil?

Solución

El trabajo que terminé haciendo estaba llamando a una API de cierre de sesión en lugar de limpiar las cookies.

describe("CRITERIA 1:", function () {
    before(function () {
        logout() // logout instead of clearing cookies
        App.reset()
        visit('/')
    })
    it(function() {
        //asserts in here seem to still use cookie!          
    })
})

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top