public void WhenITryToSaveAFeature_ThenFeatureHasBeenSavedEventIsRaisedWithCorrectDetails() { var saveFeature = new CreateFeatureFake(); var updateFeature = new UpdateFeature(); var saveApplication = new CreateApplicationFake(); var getApplicationByName = new GetApplicationByName(); var getFeatureByNameAndApplication = new GetFeatureByNameAndApplication(); var application = new ApplicationBuilder() .WithName("Test12345") .Build(); saveApplication.Execute(application); application = getApplicationByName.Execute(application.Name); var feature = new FeatureBuilder() .WithName("MyTestFeature") .WithApplication(application).Build(); saveFeature.Execute(feature); feature = getFeatureByNameAndApplication.Execute(feature.Name, application.Name); feature.Name = "Ponies"; updateFeature.Execute(feature); feature = getFeatureByNameAndApplication.Execute(feature.Name, application.Name); Assert.That(feature.Name, Is.EqualTo("Ponies")); }
public void WhenITryToSaveADuplicateFeature_ThenSaveFeatureExceptionIsThrown() { var saveFeature = new CreateFeatureFake(); var saveApplication = new CreateApplicationFake(); var getApplicationByName = new GetApplicationByName(); var application = new ApplicationBuilder() .WithName("Test12345") .Build(); saveApplication.Execute(application); application = getApplicationByName.Execute(application.Name); var feature = new FeatureBuilder() .WithName("MyTestFeature") .WithApplication(application).Build(); saveFeature.Execute(feature); Assert.Throws<CreateFeatureException>(() => saveFeature.Execute(feature)); }