Enseignements

Initiation aux Frameworks de Programmation Serveur -- RoR TP5-6

Exercices de repêchage

L’exercice sur les feuilles de style est requis dans les 2 groupes de TP pour avoir une note de repêchage:

  • Pour les étudiants du groupe 1, cet exercice sera noté et la note servira de note de repêchage (sauf cas 3 ci-après)
  • Pour les étudiants du groupe 2, cet exercice DOIT m’être rendu afin d’avoir une note de repechaqge, mais la note sera calculée sur le 2d exercice ci-après
  • Par mesure d’équité, les étudiants du groupe 1 qui le souhaitent peuvent aussi me rendre l’autre exercice. Dans ce cas, le résumé ne sera pas noté, seule la note du 2e exo comptera.

Feuille de style magnifiques

Lisez cette section du chapitre 5 du livre support et faites un resume par écrit que vous enverrez par courrier éléctronique au resppnsable de TD. Vus serez notez sur votre rapidité et la qualité de votre résumé (le premier a envoyer un résumé complet sans faute obtient 20/20. Si la note obtenue est meilleure, elle remplacera celle du 1er test WIMS.

Utilisateurs avec mots de passe

Envoyer l’adresse de votre repository sur github ou je peux récuperer une version de example_app qui implémente la totalité du chapitre 6 (utilisateur + mots de passe) et les tests correspondant. 20/20 si le code est complet, les tests s’exécutent bien et sont tous au vert, et je recois le lien vers la version qui marche avant 15:00. (attention si vous sauvez (commit) une version après 15h, je n’en tiendrai pas compte). Pensez-donc a faire des commits régulièrement!

Chapitre 5 : Layout, assets, …

Amélioration des tests

Souvenez-vous de ce code vu en cours:


require 'spec_helper'

describe "Static pages" do

  subject { page }

  describe "Home page" do
    before { visit root_path }

    it { should have_selector('h1',    text: 'Sample App') }
    it { should have_selector('title', text: full_title('')) }
    it { should_not have_selector 'title', text: '| Home' }
  end

  describe "Help page" do
    before { visit help_path }

    it { should have_selector('h1',    text: 'Help') }
    it { should have_selector('title', text: full_title('Help')) }
  end

  describe "About page" do
    before { visit about_path }

    it { should have_selector('h1',    text: 'About') }
    it { should have_selector('title', text: full_title('About Us')) }
  end

  describe "Contact page" do
    before { visit contact_path }

    it { should have_selector('h1',    text: 'Contact') }
    it { should have_selector('title', text: full_title('Contact')) }
  end
end

Le code précédent représente déjà une amélioration en termes de compacité, mais on peut encore l’améliorer en utilisant des exemples partagés (shared example).

Complétez le code suivant (bouchez les trous) pour reproduire le meme résultat que le test précédent avec des exemples partagés. Vérifiez ensuite que les tests sont toujours au vert!

require 'spec_helper'

describe "Static pages" do

  subject { page }

  shared_examples_for "all static pages" do
    it { should have_selector('h1',    text: heading) }
    it { should have_selector('title', text: full_title(page_title)) }
  end

  describe "Home page" do
    before { visit root_path }
    let(:heading)    { 'Sample App' }
    let(:page_title) { '' }

    it_should_behave_like "all static pages"
    it { should_not have_selector 'title', text: '| Home' }
  end

  describe "Help page" do
    .
    .
    .
  end

  describe "About page" do
    .
    .
    .
  end

  describe "Contact page" do
    .
    .
    .
  end
end

Chapitre 6

  • Créez le module User et refaites les validations présentées en cours (y compris et surtout les test!)
  • Terminer le Chapitre 6 et ajoutez un mot de passe en suivant le tutorial dans le livre de M. Hartl. Notez en passant que la lecture du livre apprend beaucoup de choses, pensez à le lire régulièrement…

Page d’Accueil

Enseignements 2017-18

Enseignements Antérieurs

Recherche…

edit SideBar

Blix theme adapted by David Gilbert, powered by PmWiki