Esempio n. 1
0
        public void should_validate_request()
        {
            var validator = new UpdateAccountRequestValidator();

            validator.ShouldHaveValidationErrorFor(x => x.Name, null as AccountName);

            var nameValidator = new AccountNameValidator();

            nameValidator.ShouldHaveValidationErrorFor(x => x.Name, null as string);
            nameValidator.ShouldHaveValidationErrorFor(x => x.Name, new string('a', AccountService.AccountName.MaxLength + 10));

            nameValidator.ShouldHaveValidationErrorFor(x => x.Language, null as Language?);
            nameValidator.ShouldHaveValidationErrorFor(x => x.Language, (Language)666);

            var validRequest = new UpdateAccountRequest
            {
                Name = new AccountName
                {
                    Name     = "Bla",
                    Language = Language.English
                }
            };

            validator.ShouldNotHaveValidationErrorFor(x => x.Name, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name.Name, validRequest);
            validator.ShouldNotHaveValidationErrorFor(x => x.Name.Language, validRequest);
        }
        protected override void Context()
        {
            base.Context();
            _updateAccountRequest = new UpdateAccountRequest
                                        {
                                            AccountId = 7,
                                            FirstName = "Colin",
                                            LastName = "Callahan",
                                            EmailAddress = "*****@*****.**",
                                            Role = Role.Administrator,
                                        };

            AuthorizationService.Stub(
                x => x.CanExecute(Arg<string>.Is.Equal(Username), Arg<Type>.Is.Equal(typeof(UpdateAccountRequest)))).
                Return(true);

            _updateAccountRequestValidator = MockRepository.GenerateStub<UpdateAccountRequestValidator>();
            _updateAccountRequestValidator.Stub(
                x => x.Validate(Arg<UpdateAccountRequest>.Is.Equal(_updateAccountRequest)))
                .Return(new ValidationResult());

            //ValidatorFactory.Stub(
            //    x => x.Create<UpdateAccountRequest>())
            //    .Return(_updateAccountRequestValidator);

            AccountRepository.Stub(
                x => x.Update(Arg<UpdateAccountRequest>.Is.Equal(_updateAccountRequest)))
                .WhenCalled(x => _updateAccountRequestPassedToRepository = x.Arguments[0] as UpdateAccountRequest);

            _expectedUpdateAccountResponse = new UpdateAccountResponse
                                                 {
                                                     Success = true,
                                                 };

            _expectedUpdateAccountRequest = new UpdateAccountRequest
                                                {
                                                    FirstName = "Colin",
                                                    LastName = "Callahan",
                                                    EmailAddress = "*****@*****.**",
                                                };
        }