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 }
static void Main(string[] args) { var userRepository = new InMemoryUserRepository(); // 객체를 복원할 때 깊은 복사를 하지 않으면 var user = userRepository.Find(new UserName("John")); // 복원된 객체에 대한 조작이 리포지토리에 저장된 객체에도 영향을 미친다 user.ChangeUserName(new UserName("john")); }
static void Main(string[] args) { var userRepository = new InMemoryUserRepository(); // オブジェクトを再構築する際にディープコピーを行わないと var user = userRepository.Find(new UserName("Naruse")); // 次の操作がリポジトリ内部で保管されているインスタンスにまで影響する user.ChangeUserName(new UserName("naruse")); }
public void TestRegister() { var repository = new InMemoryUserRepository(); var app = new UserApplicationService(repository); app.RegisterUser("ttaro", "taro", "tanaka"); var user = repository.Find(new UserName("ttaro")); Assert.IsNotNull(user); Assert.IsFalse(user.Id.Value == "1"); }
public async Task SearchUser_NotFound_ReturnsNull() { #region Arrange InMemoryUserRepository inMemoryUserRepository = new InMemoryUserRepository(memoryCache); UserId userId = new UserId(UserIdMother.Id()); #endregion #region Act User userFound = await inMemoryUserRepository.Find(userId); #endregion #region Assert Assert.Null(userFound); #endregion }
public void TestSuccessMaxUserName() { var userRepository = new InMemoryUserRepository(); var userService = new UserService(userRepository); var userApplicationService = new UserApplicationService(userRepository, userService); // 最長のユーザ名(20文字)のユーザが正常に生成できるか var userName = "******"; var maxUserNameInputData = new UserRegisterCommand(userName); userApplicationService.Register(maxUserNameInputData); // ユーザが正しく保存されているか var createdUserName = new UserName(userName); var maxUserNameUser = userRepository.Find(createdUserName); Assert.IsNotNull(maxUserNameUser); }
public void TestSuccessMaxUserName() { var userRepository = new InMemoryUserRepository(); var userService = new UserService(userRepository); var userApplicationService = new UserApplicationService(userRepository, userService); // 사용자명의 최장 길이(20글자)를 만족하는 사용자 등록이 정상적으로 완료되는지 확인 var userName = "******"; var maxUserNameInputData = new UserRegisterCommand(userName); userApplicationService.Register(maxUserNameInputData); // 사용자 정보가 잘 저장됐는지 확인 var createdUserName = new UserName(userName); var maxUserNameUser = userRepository.Find(createdUserName); Assert.IsNotNull(maxUserNameUser); }
public void TestSuccessMaxUserName() { var userFactory = new InMemoryUserFactory(); var userRepository = new InMemoryUserRepository(); var userService = new UserService(userRepository); var interactor = new UserRegisterInteractor(userFactory, userRepository, userService); // 사용자명의 최장 길이(20글자)를 만족하는 사용자 등록이 정상적으로 완료되는지 확인 var userName = "******"; var maxUserNameInputData = new UserRegisterInputData(userName); interactor.Handle(maxUserNameInputData); // 사용자 정보가 잘 저장됐는지 확인 var createdUserName = new UserName(userName); var maxUserNameUser = userRepository.Find(createdUserName); Assert.IsNotNull(maxUserNameUser); }
public void TestSuccessMaxUserName() { var userFactory = new InMemoryUserFactory(); var userRepository = new InMemoryUserRepository(); var userService = new UserService(userRepository); var interactor = new UserRegisterInteractor(userFactory, userRepository, userService); // 最長のユーザ名(20文字)のユーザが正常に生成できるか var userName = "******"; var maxUserNameInputData = new UserRegisterInputData(userName); interactor.Handle(maxUserNameInputData); // ユーザが正しく保存されているか var createdUserName = new UserName(userName); var maxUserNameUser = userRepository.Find(createdUserName); Assert.IsNotNull(maxUserNameUser); }
public void Find_UserId(string id) { // Arrange PrepareUsers(); var expect = _users.First(_ => _.UserId.Equals(new UserId(id))); // Act var result = _userRepository.Find(expect.UserId); // Assert result.UserId.Is(expect.UserId); result.UserName.Is(expect.UserName); result.FullName.Is(expect.FullName); }
public void TestSuccessMinUserName() { var userFactory = new InMemoryUserFactory(); var userRepository = new InMemoryUserRepository(); var userService = new UserService(userRepository); var interactor = new UserRegisterInteractor(userFactory, userRepository, userService); // 사용자명의 최소 길이(3글자)를 만족하는 사용자 등록이 정상적으로 완료되는지 확인 var userName = "******"; var minUserNameInputData = new UserRegisterInputData(userName); var outputData = interactor.Handle(minUserNameInputData); Assert.IsNotNull(outputData.CreatedUserId); // 사용자 정보가 잘 저장됐는지 확인 var createdUserName = new UserName(userName); var createdUser = userRepository.Find(createdUserName); Assert.IsNotNull(createdUser); }
public void TestSuccessMinUserName() { var userFactory = new InMemoryUserFactory(); var userRepository = new InMemoryUserRepository(); var userService = new UserService(userRepository); var userApplicationService = new UserApplicationService(userFactory, userRepository, userService); // 最短のユーザ名(3文字)のユーザが正常に生成できるか var userName = "******"; var minUserNameInputData = new UserRegisterCommand(userName); var outputData = userApplicationService.Register(minUserNameInputData); Assert.IsNotNull(outputData.CreatedUserId); // ユーザが正しく保存されているか var createdUserName = new UserName(userName); var createdUser = userRepository.Find(createdUserName); Assert.IsNotNull(createdUser); }
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 }