public SubscribeHandlerTests()
        {
            fixture = new Fixture();

            cryptService       = Substitute.For <ICryptService>();
            cryptServiceOutput = fixture.Create <string>();
            cryptService.Crypt(Arg.Any <string>()).Returns(cryptServiceOutput);

            userFactory = new WriteModelUserFactory(cryptService);

            userReadRepository  = Substitute.For <IReadModelUserRepository>();
            readModelUnitOfWork = Substitute.For <IReadModelUnitOfWork>();
            readModelUnitOfWork.UserRepository.Returns(userReadRepository);

            userWriteRepository  = Substitute.For <IWriteModelUserRepository>();
            writeModelUnitOfWork = Substitute.For <IWriteModelUnitOfWork>();
            writeModelUnitOfWork.UserRepository.Returns(userWriteRepository);

            eventPublisher = Substitute.For <IEventPublisher>();

            handler = new SubscribeHandler(
                userFactory,
                readModelUnitOfWork,
                writeModelUnitOfWork,
                eventPublisher
                );
        }
Exemple #2
0
        public MongoDbWriteModelUnitOfWorkTests()
        {
            fixture = new Fixture();

            //Setup mongo configuration
            configuration = fixture.Create <MongoDbConfiguration>();

            //Setup client factory
            client        = Substitute.For <IMongoClient>();
            sessionHandle = Substitute.For <IClientSessionHandle>();
            database      = Substitute.For <IMongoDatabase>();
            clientFactory = Substitute.For <IMongoClientFactory>();

            client.StartSession().Returns(sessionHandle);
            client.GetDatabase(Arg.Any <string>()).Returns(database);
            clientFactory.CreateClient(Arg.Any <MongoDbConfiguration>()).Returns(client);

            //Setup user factory
            cryptService = Substitute.For <ICryptService>();
            cryptService.Crypt(Arg.Any <string>()).Returns(args => args[0]);
            userFactory = new WriteModelUserFactory(cryptService);

            //Create unit of work
            unitOfWork = new MongoDbWriteModelUnitOfWork(configuration, clientFactory, userFactory);
        }
        public WriteModelUserFactoryTests()
        {
            fixture = new Fixture();

            cryptService       = Substitute.For <ICryptService>();
            cryptServiceOutput = fixture.Create <string>();
            cryptService.Crypt(Arg.Any <string>()).Returns(cryptServiceOutput);

            factory = new WriteModelUserFactory(cryptService);
        }
Exemple #4
0
 public SubscribeHandler(
     WriteModelUserFactory userFactory,
     IReadModelUnitOfWork readModel,
     IWriteModelUnitOfWork writeModel,
     IEventPublisher eventPublisher
     )
 {
     UserFactory    = userFactory;
     ReadModel      = readModel;
     WriteModel     = writeModel;
     EventPublisher = eventPublisher;
 }
Exemple #5
0
        public InMemoryUserRepositoryTests()
        {
            fixture = new Fixture();

            cryptService = Substitute.For <ICryptService>();
            cryptService.Crypt(Arg.Any <string>()).Returns(args => args[0]);

            userFactory = new WriteModelUserFactory(cryptService);

            data = new InMemoryUserWriteData();

            repository = new InMemoryWriteModelUserRepository(userFactory, data);
        }
        public MongoDbWriteModelUserRepositoryTests()
        {
            fixture = new Fixture();
            fixture.Customize <UserSubscribed>(composer => composer.With(u => u.Email, "*****@*****.**"));

            database       = Substitute.For <IMongoDatabase>();
            userCollection = Substitute.For <IMongoCollection <User> >();
            database.GetCollection <User>(Arg.Is(MongoDbWriteModelUserRepository.collectionName)).Returns(userCollection);

            cryptService = Substitute.For <ICryptService>();
            cryptService.Crypt(Arg.Any <string>()).Returns(args => args[0]);
            userFactory = new WriteModelUserFactory(cryptService);

            repository = new MongoDbWriteModelUserRepository(database, userFactory);
        }
Exemple #7
0
        public AuthenticateWithCredentialsHandlerTests()
        {
            fixture = new Fixture();

            readModel = Substitute.For <IReadModelUnitOfWork>();
            readModelUserRepository = Substitute.For <IReadModelUserRepository>();
            readModel.UserRepository.Returns(readModelUserRepository);

            writeModel = Substitute.For <IWriteModelUnitOfWork>();
            writeModelUserRepository = Substitute.For <IWriteModelUserRepository>();
            writeModel.UserRepository.Returns(writeModelUserRepository);

            cryptService = Substitute.For <ICryptService>();
            cryptService.Crypt(Arg.Any <string>()).Returns(args => args[0]);

            writeModelUserFactory = new WriteModelUserFactory(cryptService);
            handler = new AuthenticateWithCredentialsHandler(readModel, writeModel, cryptService);
        }
Exemple #8
0
        public void ParameteredConstructor_sets_Values()
        {
            //Arrange
            Guid id = Guid.NewGuid();

            var cryptService = Substitute.For <ICryptService>();

            cryptService.Crypt(Arg.Any <string>()).Returns(args => args[0]);
            var userFactory = new WriteModelUserFactory(cryptService);
            var domainUser  = userFactory.Create("Kakarot", "Son", "Goku", "*****@*****.**", "chichi123");

            //Act
            var user = new User(domainUser);

            //Assert
            user.Id.Should().Be(domainUser.Id);
            user.Changes.Should().BeEquivalentTo(domainUser.Changes);
        }
 public InMemoryWriteModelUserRepository(WriteModelUserFactory userFactory, InMemoryUserWriteData data)
 {
     UserFactory = userFactory;
     Data        = data;
 }