Skip to content

Instantly share code, notes, and snippets.

@NTCoding
Created December 1, 2012 19:40
Show Gist options
  • Select an option

  • Save NTCoding/4184443 to your computer and use it in GitHub Desktop.

Select an option

Save NTCoding/4184443 to your computer and use it in GitHub Desktop.
full_stack_context_specification
[TestFixture]
public class Creating_a_useful_plan : RavenTestsBase
{
private FubuContinuation response;
private LifeLesson lesson;
[TestFixtureSetUp]
public void When_adding_a_super_useful_plan()
{
BeginCleanSession();
var user = TestUser.CreateAndSave("zubi_zameesh", Session);
lesson = TestLifeLesson.CreatFor(user, 1).Single();
Session.SaveChanges();
var input = new AddRehearsalPlanInput
{
LessonId = lesson.Id,
Plan = RehearsalPlans.Useful
};
TestValidation.GetValidator(Session, TestAuthentication.SecurityContextFor(user)).Validate(input);
response = new Post(Session, TestAuthentication.SecurityContextFor(user)).Handle(input);
Session.SaveChanges();
}
[Test]
public void Two_phase_plan_is_created()
{
var plan = GetCreatedPlan();
Assert.That(plan.Phases.Count(), Is.EqualTo(2));
}
[Test]
public void Phase_1_is_daily_for_1_months()
{
var plan = GetCreatedPlan();
var phase1 = plan.Phases.First();
Assert.That(phase1.Frequency, Is.EqualTo(RehearsalFrequency.Weeks));
Assert.That(phase1.FrequencyStep, Is.EqualTo(1));
Assert.That(phase1.DurationPeriod, Is.EqualTo(RehearsalDurationPeriod.Months));
Assert.That(phase1.DurationQuantity, Is.EqualTo(2));
}
[Test]
public void Phase_2_is_once_every_6_months()
{
var plan = GetCreatedPlan();
var phase2 = plan.Phases[1];
Assert.That(phase2.Frequency, Is.EqualTo(RehearsalFrequency.Months));
Assert.That(phase2.FrequencyStep, Is.EqualTo(6));
Assert.That(phase2.DurationPeriod, Is.EqualTo(RehearsalDurationPeriod.Forever));
}
private RehearsalPlan GetCreatedPlan()
{
return Session
.Query<RehearsalPlan>()
.Where(p => p.LessonId == lesson.Id)
.Single();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment