internal void ConfigureGistServices() { var gateway = new GistItemGateway(); var entitiesFactory = new DefaultEntitiesFactory(); ConfigureUseCases(gateway, entitiesFactory); }
public async Task Register_WritesOutput_InputIsValid(double amount) { var ssn = new SSN("9909999099"); var name = new Name("hello"); var password = new Password("hello@123"); var entityFactory = new DefaultEntitiesFactory(); var presenter = new Presenter(); var context = new MangaContext(); var customerRepository = new CustomerRepository(context); var accountRepository = new AccountRepository(context); var registerUser = new RegisterUser(new UserManager <IdentityUser>()); var sut = new Register( entityFactory, presenter, customerRepository, accountRepository, registerUser ); await sut.Execute(new Input( ssn, name, password, new PositiveAmount(amount))); var actual = presenter.Registers.First(); Assert.NotNull(actual); Assert.Equal(ssn.ToString(), actual.Customer.SSN); Assert.Equal(name.ToString(), actual.Customer.Name); Assert.Equal(amount, actual.Account.CurrentBalance); }
internal void ConfigureFileSystemServices() { var gateway = new FileSystemItemGateway(); var entitiesFactory = new DefaultEntitiesFactory(); ConfigureUseCases(gateway, entitiesFactory); }
public async Task Register_WritesOutput_InputIsValid(double amount) { var ssn = new SSN("8608178888"); var name = new Name("Ivan Paulovich"); var entityFactory = new DefaultEntitiesFactory(); var presenter = new Presenter(); var context = new MangaContext(); var customerRepository = new CustomerRepository(context); var accountRepository = new AccountRepository(context); var sut = new Register( entityFactory, presenter, customerRepository, accountRepository ); await sut.Execute(new Input( ssn, name, new PositiveAmount(amount))); var actual = presenter.Registers.First(); Assert.NotNull(actual); Assert.Equal(ssn.ToString(), actual.Customer.SSN); Assert.Equal(name.ToString(), actual.Customer.Name); Assert.Equal(amount, actual.Account.CurrentBalance); }
internal void ConfigureInMemoryServices() { var context = new InMemoryContext(); var gateway = new InMemoryItemGateway(context); var entitiesFactory = new DefaultEntitiesFactory(); ConfigureUseCases(gateway, entitiesFactory); }
internal void ConfigureSqlServerServices() { var optionsBuilder = new DbContextOptionsBuilder <SqlContext>(); optionsBuilder.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")); var context = new SqlContext(optionsBuilder.Options); var gateway = new SqlItemGateway(context); var entitiesFactory = new DefaultEntitiesFactory(); ConfigureUseCases(gateway, entitiesFactory); }
public void GivenTitle_ReturnsId() { var context = new InMemoryContext(); var gateway = new InMemoryAccountGateway(context); var entitiesFactory = new DefaultEntitiesFactory(); var responseHandler = new ResponseHandler(); var request = new Request("My Account Name"); var add = new Add(responseHandler, gateway, entitiesFactory); add.Execute(request); Assert.True(Guid.Empty != responseHandler.AddAccounts[0].AccountId); }
public void GivenTitle_AccountWasAdded() { var context = new InMemoryContext(); var gateway = new InMemoryAccountGateway(context); var entitiesFactory = new DefaultEntitiesFactory(); var responseHandler = new ResponseHandler(); var request = new Request("My Account Name"); var add = new Add(responseHandler, gateway, entitiesFactory); add.Execute(request); Assert.Single(responseHandler.AddAccounts); }
public void GivenTitle_ReturnsId() { var context = new InMemoryContext(); var gateway = new InMemoryItemGateway(context); var responseHandler = new ResponseHandler(); var entitiesFactory = new DefaultEntitiesFactory(); var request = new Request("My Title"); var todo = new Todo(responseHandler, gateway, entitiesFactory); todo.Execute(request); Assert.True(Guid.Empty != responseHandler.TodoItems[0].ItemId); }
public void GivenTitle_ItemsWasAdded() { var context = new InMemoryContext(); var gateway = new InMemoryItemGateway(context); var responseHandler = new ResponseHandler(); var entitiesFactory = new DefaultEntitiesFactory(); var request = new Request("My Title"); var todo = new Todo(responseHandler, gateway, entitiesFactory); todo.Execute(request); Assert.Single(responseHandler.TodoItems); }
public void GivenTodoItem_TitleChanged() { var context = new InMemoryContext(); var gateway = new InMemoryItemGateway(context); var responseHandler = new ResponseHandler(); var entitiesFactory = new DefaultEntitiesFactory(); var todo = new Core.UseCases.Todo(responseHandler, gateway, entitiesFactory); todo.Execute(new Core.Boundaries.Todo.Request("My Title")); var request = new Request(responseHandler.TodoItems[0].ItemId.ToString(), "New Title"); var updatedTitle = new Rename(gateway); Exception ex = Record.Exception(() => updatedTitle.Execute(request)); Assert.Null(ex); }
public async Task Add_ChangesDatabase() { var options = new DbContextOptionsBuilder <MangaContext>() .UseInMemoryDatabase(databaseName: "test_database") .Options; var factory = new DefaultEntitiesFactory(); var customer = factory.NewCustomer("198608177955", "Ivan Paulovich"); using (var context = new MangaContext(options)) { var repository = new CustomerRepository(context); await repository.Add(customer); } using (var context = new MangaContext(options)) { Assert.Equal(1, context.Users.Count()); } }