<commit_before># coding: UTF-8

require 'spec_helper'

describe Kpi::Semanal do
  describe ".dame_ultimas_n_semanas" do
    # Del 3 al 10 de marzo era la semana 10

    context "si hoy es lunes" do
      before { Time.stub(now: '2014-03-03 11:25'.to_datetime) }

      it "debe calcular las últimas 5 semanas contando desde la semana pasada hacia atrás" do
        described_class.dame_ultimas_n_semanas(5).should == (5..9)
      end
    end

    context "si hoy es martes" do
      before { Time.stub(now: '2014-03-04 11:25'.to_datetime) }

      it "debe calcular las últimas 5 semanas contando desde la semana actual hacia atrás" do
        described_class.dame_ultimas_n_semanas(5).should == (6..10)
      end
    end
  end
end<commit_msg>Hard test refactor with @esaborit4code<commit_after># coding: UTF-8

require 'spec_helper'

describe Kpi::Semanal do
  describe ".dame_ultimas_n_semanas" do
    let(:n_semanas) { Random.rand(2..10) }
    let(:semana_actual) { Random.rand(n_semanas..53) }
    let(:semana_pasada) { semana_actual - 1 }
    let(:lunes) { Date.commercial(Time.now.year, semana_actual, 1).to_datetime }
    let(:martes) { lunes + 1.day }

    context "si hoy es lunes" do
      before { Time.stub(now: lunes) }

      it "debe calcular las últimas n semanas contando desde la semana pasada hacia atrás" do
        resultado = described_class.dame_ultimas_n_semanas(n_semanas)
        resultado.max.should == semana_pasada
        resultado.should have(n_semanas).semanas
      end
    end

    context "si hoy es martes" do
      before { Time.stub(now: martes) }

      it "debe calcular las últimas n semanas contando desde la semana actual hacia atrás" do
        resultado = described_class.dame_ultimas_n_semanas(n_semanas)
        resultado.max.should == semana_actual
        resultado.should have(n_semanas).semanas
      end
    end
  end
end
{'fraction_non_alphanumeric': 0.09076348104644955, 'fraction_numerical': 0.02616123865456487, 'mean_word_length': 3.091703056768559, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4017309', 'n_tokens_mistral': 715, 'n_tokens_neox': 673, 'n_words': 175}