Пример #1
0
        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");
        }
Пример #2
0
        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");
        }
Пример #3
0
        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");
        }
Пример #4
0
        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);
        }
Пример #5
0
        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");
        }