public async Task Create_app_without_id_returns_validationerror() { // Arrange var command = new CreateAppCommand(); var handler = new CreateAppCommandHandler(Substitute.For <IApplicationStore>(), new AppValidator()); // Act var result = await handler.Handle(command); // Assert Assert.Contains(result.ValidationErrors, err => err.Name == "Id"); }
public async Task Create_app_with_invalid_characters_returns_validationerror(string appId) { // Arrange var command = new CreateAppCommand { Id = appId, DisplayName = "Test" }; var handler = new CreateAppCommandHandler(Substitute.For <IApplicationStore>(), new AppValidator()); // Act var result = await handler.Handle(command); // Assert Assert.Contains(result.ValidationErrors, err => err.Name == "Id"); }
public async Task Create_app_with_nonexisting_defaultlanguage_returns_validationerror() { // Arrange var command = new CreateAppCommand { Id = "test", DisplayName = "Test", Languages = new [] { "en", "fr" }, DefaultLanguage = "nl" }; var handler = new CreateAppCommandHandler(Substitute.For <IApplicationStore>(), new AppValidator()); // Act var result = await handler.Handle(command); // Assert Assert.Contains(result.ValidationErrors, err => err.ErrorMessage == "DefaultLanguageNotInLanguages"); }
public async Task Create_valid_app_returns_no_errors() { // Arrange var command = new CreateAppCommand { Id = "test", DisplayName = "Test", Languages = new [] { "en" }, DefaultLanguage = "en" }; var handler = new CreateAppCommandHandler(Substitute.For <IApplicationStore>(), new AppValidator()); // Act var result = await handler.Handle(command); // Assert Assert.Equal(ResultStatus.Success, result.Status); }
public async Task Create_app_with_existing_id_returns_validationerror() { // Arrange var command = new CreateAppCommand { Id = "test", DisplayName = "A new app with existing id", Languages = new[] { "en" }, DefaultLanguage = "en" }; var applicationStore = Substitute.For <IApplicationStore>(); applicationStore.AppExists("test").Returns(true); var handler = new CreateAppCommandHandler(applicationStore, new AppValidator()); // Act var result = await handler.Handle(command); // Assert Assert.Equal(ResultStatus.ValidationError, result.Status); Assert.Contains(result.ValidationErrors, err => err.ErrorMessage == "AppIdAlreadyExists"); }