public async Task Register_WritesOutput_InputIsValid(decimal amount) { var presenter = new RegisterPresenter(); var externalUserId = new ExternalUserId("github/ivanpaulovich"); var ssn = new SSN("8608178888"); var sut = new RegisterUseCase( new TestUserService(this._fixture.Context), this._fixture.CustomerService, this._fixture.AccountService, this._fixture.SecurityService, presenter, this._fixture.UnitOfWork); await sut.Execute(new RegisterInput( ssn, new PositiveMoney(amount))); var actual = presenter.Registers.Last(); Assert.NotNull(actual); Assert.Equal(ssn, actual.Customer.SSN); Assert.NotEmpty(actual.Customer.Name.ToString()); Assert.Equal(amount, actual.Account.CurrentBalance.ToDecimal()); }
public RegisterUseCaseTest() { _customerWriteOnlyRepository = new Mock <ICustomerWriteOnlyRepository>(); _accountWriteOnlyRepository = new Mock <IAccountWriteOnlyRepository>(); registerUseCase = new RegisterUseCase(_customerWriteOnlyRepository.Object, _accountWriteOnlyRepository.Object); }
private static async Task SeedUser() { if (db.Users.Any(x => x.Username == Username)) { Console.WriteLine($"User '{Username}' already exists"); return; } Console.WriteLine("Seeding User...."); var repository = new UserEfRepository(db); var userUsecase = new RegisterUseCase <Action>(repository); await userUsecase.HandleAsync(new RegisterUserInput("Kris", "Lyubenov", Username, "*****@*****.**", "Test321"), new RegisterOutputHandlerStub()); }
public async void Register_Valid_User_Account(string personnummer, string name, double amount) { var registerUseCase = new RegisterUseCase( customerWriteOnlyRepository, accountWriteOnlyRepository ); RegisterResult result = await registerUseCase.Execute( personnummer, name, amount); Assert.Equal(personnummer, result.Customer.Personnummer); Assert.Equal(name, result.Customer.Name); Assert.True(Guid.Empty != result.Customer.CustomerId); Assert.True(Guid.Empty != result.Account.AccountId); }
public async void Should_Register_New_User() { // Arrange var valid = new User((Name)"Alexander Held", (Password)"supersecret"); var userRepository = new Mock <IUserRepository>(); var todoRepository = new Mock <ITodoRepository>(); var register = new RegisterUseCase(userRepository.Object, todoRepository.Object); // Act var output = await register.Execute("Alexander Held", "supersecret"); // Assert Assert.Equal(valid.Name, output.UserOutput.Name); Assert.Equal(valid.GetAssociatedTasks(), output.UserOutput.AssociatedTodos.GetReadOnly()); Assert.NotNull(valid); Assert.IsType <User>(valid); }
public async void Register_Valid_User_Account(decimal amount) { string personnummer = "8608178888"; string name = "Ivan Paulovich"; var mockCustomerWriteOnlyRepository = new Mock <ICustomerWriteOnlyRepository>(); var mockAccountWriteOnlyRepository = new Mock <IAccountWriteOnlyRepository>(); RegisterUseCase sut = new RegisterUseCase( mockCustomerWriteOnlyRepository.Object, mockAccountWriteOnlyRepository.Object ); RegisterOutput output = await sut.Execute( personnummer, name, amount); Assert.Equal(amount, output.Account.CurrentBalance); }
public async Task Register_WritesOutput_AlreadyRegisterested(decimal amount) { var presenter = new RegisterPresenter(); string ssn = "8608178888"; var sut = new RegisterUseCase( this._fixture.TestUserService, this._fixture.CustomerService, this._fixture.AccountService, this._fixture.SecurityService, presenter, this._fixture.UnitOfWork, this._fixture.CustomerRepository, this._fixture.AccountRepository); await sut.Execute(new RegisterInput( ssn, amount)); Assert.NotEmpty(presenter.AlreadyRegistered); }
public async Task RegsiterUseCase_ValidInput_ShouldReturnTheUser() { // Arrange var userService = new FakeUserService(); var presenter = new FakeRegisterOutputHandler(); var sut = new RegisterUseCase(presenter, userService); var input = new RegistrationInput("username", "password", "*****@*****.**"); // Act await sut.Execute(input); // Assert presenter.ErrorMessage .Should() .BeNull(); presenter.ViewModel .Should() .BeEquivalentTo(userService.User); }
public void GivenNullInput_ThrowsException() { var register = new RegisterUseCase(null, null, null, null, null, null); Assert.ThrowsAsync <Exception>(async() => await register.Execute(null)); }