private void PrepareUsers()
        {
            foreach (var user in _userRepository.FindAll())
            {
                _userRepository.Remove(user);
            }

            foreach (var user in _users)
            {
                _userRepository.Save(user);
            }
        }
Пример #2
0
        public void TestAlreadyExists()
        {
            var userFactory    = new InMemoryUserFactory();
            var userRepository = new InMemoryUserRepository();
            var userService    = new UserService(userRepository);
            var interactor     = new UserRegisterInteractor(userFactory, userRepository, userService);

            var userName = "******";

            userRepository.Save(new User(
                                    new UserId("test-id"),
                                    new UserName(userName),
                                    UserType.Normal
                                    ));

            bool exceptionOccured = false;

            try
            {
                var command = new UserRegisterInputData(userName);
                interactor.Handle(command);
            }
            catch
            {
                exceptionOccured = true;
            }

            Assert.IsTrue(exceptionOccured);
        }
Пример #3
0
        static void Main(string[] args)
        {
            var repository             = new InMemoryUserRepository();
            var userService            = new UserService(repository);
            var userApplicationService = new UserApplicationService(repository, userService);

            var id   = "test-id";
            var user = new User(new UserId(id), new UserName("test-user"));

            repository.Save(user);

            // ユーザ名変更だけを行うように
            var updateNameCommand = new UserUpdateCommand(id)
            {
                Name = "naruse"
            };

            userApplicationService.Update(updateNameCommand);

            // メールアドレス変更だけを行うように
            var updateMailAddressCommand = new UserUpdateCommand(id)
            {
                MailAddress = "*****@*****.**"
            };

            userApplicationService.Update(updateMailAddressCommand);
        }
Пример #4
0
        public async Task SaveFavorites_ReturnsUserWithFavorites()
        {
            #region Arrange

            InMemoryUserRepository inMemoryUserRepository = new InMemoryUserRepository(memoryCache);
            UserId    userId    = new UserId(UserIdMother.Id());
            User      user      = new User(userId);
            PokemonId pokemonId = PokemonIdMother.PokemonId();
            user.AddPokemonFavorite(new PokemonFavorite(pokemonId));

            #endregion

            #region Act
            await inMemoryUserRepository.Save(user);

            User userFound = await inMemoryUserRepository.Find(userId);

            await inMemoryUserRepository.SaveFavorites(user);

            #endregion

            #region Assert
            var pokemonFavoritesArray = userFound.PokemonFavorites.Favorites.Select(s => s.PokemonId.Id.ToString()).ToArray();
            Assert.Equal(pokemonFavoritesArray, PokemonFavoritesMother.PokemonFavorites().Favorites.Select(s => s.PokemonId.Id.ToString()).ToArray(), StringComparer.InvariantCultureIgnoreCase);

            #endregion
        }
Пример #5
0
        public void TestAlreadyExists()
        {
            var userRepository         = new InMemoryUserRepository();
            var userService            = new UserService(userRepository);
            var userApplicationService = new UserApplicationService(userRepository, userService);

            var userName = "******";

            userRepository.Save(new User(
                                    new UserId("test-id"),
                                    new UserName(userName)
                                    ));

            bool exceptionOccured = false;

            try
            {
                var command = new UserRegisterCommand(userName);
                userApplicationService.Register(command);
            }
            catch
            {
                exceptionOccured = true;
            }

            Assert.IsTrue(exceptionOccured);
        }
Пример #6
0
        static void Main(string[] args)
        {
            var userRepository = new InMemoryUserRepository();

            var user = new User(new UserName("John"));

            // 여기서 인스턴스를 바로 리포지토리에 저장하면
            userRepository.Save(user);
            // 인스턴스에 대한 조작이 리포지토리에 저장된 객체에도 영향을 미친다
            user.ChangeUserName(new UserName("john"));
        }
Пример #7
0
        static void Main(string[] args)
        {
            var userRepository = new InMemoryUserRepository();

            var user = new User(new UserName("Naruse"));

            // ここでインスタンスをそのままリポジトリに保存してしまうと
            userRepository.Save(user);
            // インスタンスの操作がリポジトリに保存したインスタンスにまで影響する
            user.ChangeUserName(new UserName("naruse"));
        }
Пример #8
0
        public void TestDuplicateFail()
        {
            var repository = new InMemoryUserRepository();
            var username   = new UserName("ttaro");
            var fullname   = new FullName("taro", "tanaka");

            repository.Save(new User(username, fullname));
            var  app  = new UserApplicationService(repository);
            bool isOk = false;

            try {
                app.RegisterUser("ttaro", "taro", "tanaka");
            } catch (Exception e) {
                if (e.Message.StartsWith("重複"))
                {
                    isOk = true;
                }
            }
            Assert.IsTrue(isOk);
        }
Пример #9
0
        public async Task ExistsUser_ReturnsBool()
        {
            #region Arrange

            InMemoryUserRepository inMemoryUserRepository = new InMemoryUserRepository(memoryCache);
            UserId userId = new UserId(UserIdMother.Id());
            User   user   = new User(userId);
            #endregion

            #region Act
            await inMemoryUserRepository.Save(user);

            bool exists = await inMemoryUserRepository.Exists(userId);

            #endregion

            #region Assert
            Assert.True(exists);

            #endregion
        }
Пример #10
0
        public async Task SearchUser_Found_ReturnsUser()
        {
            #region Arrange

            InMemoryUserRepository inMemoryUserRepository = new InMemoryUserRepository(memoryCache);
            UserId userId = new UserId(UserIdMother.Id());
            User   user   = new User(userId);
            #endregion

            #region Act
            await inMemoryUserRepository.Save(user);

            User userFound = await inMemoryUserRepository.Find(userId);

            #endregion

            #region Assert
            Assert.Equal(userFound.UserId.Id, userId.Id);

            #endregion
        }