Angular.js: Angular mocks não zomba mais de cookies do navegador

Criado em 27 ago. 2015  ·  3Comentários  ·  Fonte: angular/angular.js

Recentemente, migramos para o angular 1.4 e notamos que alguns testes estão falhando intermitentemente devido ao estado restante entre os testes nos cookies. Parece que o mocking de cookies foi removido dos angular-mocks nas versões mais recentes. Eu tenho um par de plunks para ilustrar o ponto.

Aqui, no angular 1.3, o cookie é definido em $cookieStore em um teste e não é definido em $cookieStore em testes subsequentes:
http://plnkr.co/edit/WbRKACxBvJkHUmJwntN4?p=preview

No angular 1.4, no entanto, o cookie ainda é definido em testes subsequentes, causando falha:
http://plnkr.co/edit/c6jpOmmSuufSYvQysdTQ?p=preview

Essa funcionalidade foi removida intencionalmente e, em caso afirmativo, você pode me informar qual é a solução alternativa pretendida?

ngCookies investigation

Comentários muito úteis

A equipe Angular acredita que ninguém precisa testar a configuração e obtenção de cookies com ngCookies? Estou chocado ao descobrir que um ano após o lançamento do 1.4 isso ainda não foi resolvido.

Todos 3 comentários

@shahata você por acaso sabe por que há uma diferença?

@Narretz Nas versões anteriores do Angular, $browser.cookies() foi completamente ridicularizado por ngMock e escrever um cookie através $cookies foi gravado em um mapa na memória e não no navegador. Discutimos isso no passado e consideramos adicionar um kit de teste que se conecta ao novo mecanismo de cookies e fornece ferramentas que verificam se os cookies são gravados com parâmetros corretos (não é mais apenas sobre o valor do cookie), mas não acho isso é muito crítico.

@butchpeters Acho que a melhor maneira é você zombar de $cookies em seu teste:

module({$cookies: {
  store:{},
  put: function (key, value) { this.store[key] = value; },
  get: function (key) { return this.store[key]; }
}});

Aqui está o plunker fixo: http://plnkr.co/edit/LTQHDtDM5FOiTiXl2waT?p=preview

A equipe Angular acredita que ninguém precisa testar a configuração e obtenção de cookies com ngCookies? Estou chocado ao descobrir que um ano após o lançamento do 1.4 isso ainda não foi resolvido.

Esta página foi útil?
0 / 5 - 0 avaliações