public void ShouldHaveModifiedEvent()
        {
            // Arrange
            Guid   expectedId   = Guid.NewGuid();
            string expectedName = "ModifiedName";
            string expectedCode = "ModifiedCode";

            CredentialType actual = CredentialType.Create(expectedId, "Name",
                                                          "Code");

            actual.FlushUncommitedEvents();

            // Act
            actual.Modify(expectedName, expectedCode, 1);

            // Assert
            Assert.IsTrue(actual.Events != null);
            Assert.IsTrue(actual.Events.Count == 1);
            var events = actual.FlushUncommitedEvents();

            Assert.IsTrue(events != null);
            Assert.IsTrue(events.Length == 1);
            Assert.IsTrue(events[0] is CredentialTypeModifiedEvent);
            CredentialTypeModifiedEvent @event = events[0] as CredentialTypeModifiedEvent;

            Assert.IsTrue(@event.EntityId == expectedId);
            Assert.IsTrue(@event.Name == expectedName);
            Assert.IsTrue(@event.Code == expectedCode);
        }
예제 #2
0
        public async Task HandleAsync(CreateCredentialTypeCommand message, CancellationToken token = default(CancellationToken))
        {
            var type = CredentialType.Create(Guid.NewGuid(), message.Name, message.Code);

            _types.Add(type);
            await _types.SaveChangesAsync(token);
        }
        public void ShouldCreateNewModel()
        {
            // Arrange
            Guid   expectedId   = Guid.NewGuid();
            string expectedName = "Name";
            string expectedCode = "Code";

            // Act
            CredentialType actual = CredentialType.Create(expectedId, expectedName, expectedCode);

            // Assert
            Assert.IsTrue(actual != null);
            Assert.IsTrue(actual.Id == expectedId);
            Assert.IsTrue(actual.Name == expectedName);
            Assert.IsTrue(actual.Code == expectedCode);
            Assert.IsTrue(!string.IsNullOrEmpty(actual.SearchValue));
        }
        public void ShouldModifyModel()
        {
            // Arrange
            Guid   expectedId   = Guid.NewGuid();
            string expectedName = "ModifiedName";
            string expectedCode = "ModifiedCode";

            CredentialType actual = CredentialType.Create(expectedId, "Name",
                                                          "Code");

            // Act
            actual.Modify(expectedName, expectedCode, 1);

            // Assert
            Assert.IsTrue(actual.Id == expectedId);
            Assert.IsTrue(actual.Name == expectedName);
            Assert.IsTrue(actual.Code == expectedCode);
            Assert.IsTrue(!string.IsNullOrEmpty(actual.SearchValue));
        }
        public async Task ShouldDeleteExisting()
        {
            // Arrange
            CredentialType entity     = CredentialType.Create(Guid.NewGuid(), "Name", "Code");
            var            repository = new Mock <ICredentialTypeRepository>();

            repository.Setup(e =>
                             e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity);
            DeleteCredentialTypeCommand cmd = new DeleteCredentialTypeCommand(entity.Id);

            CredentialTypeCommandHandler actual = new CredentialTypeCommandHandler(repository.Object);

            // Act
            await actual.HandleAsync(cmd);

            // Assert
            repository.Verify(e =>
                              e.Delete(It.Is <CredentialType>(a => a.Equals(entity))),
                              Times.Once
                              );
        }
        public async Task ShouldModifyExisting()
        {
            // Arrange
            Guid           expectedId   = Guid.NewGuid();
            string         expectedName = "Modified Name";
            CredentialType entity       = CredentialType.Create(expectedId, "Name", "Code");
            var            repository   = new Mock <ICredentialTypeRepository>();

            repository.Setup(e =>
                             e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity);
            ModifyCredentialTypeCommand cmd =
                new ModifyCredentialTypeCommand(expectedId, expectedName, "Code", 1);

            CredentialTypeCommandHandler actual = new CredentialTypeCommandHandler(repository.Object);

            // Act
            await actual.HandleAsync(cmd);

            // Assert
            Assert.IsTrue(entity.Id == expectedId);
            Assert.IsTrue(entity.Name == expectedName);
        }
예제 #7
0
        private static async Task InsertTestDataAsync(IDbContext context)
        {
            context.Database.EnsureCreated();

            if (context.CredentialTypes.Any())
            {
                return;
            }

            var type = CredentialType.Create(Guid.NewGuid(), "Email address", "Email");
            var user = User.Create(Guid.NewGuid(), "Administrator");

            context.CredentialTypes.Add(type);
            await context.SaveChangesAsync();

            var cred = Credential.Create(type.Id, "*****@*****.**", Md5Hasher.ComputeHash("admin"));

            user.AddCredential(cred);
            context.Users.Add(user);

            await context.SaveChangesAsync();
        }
        protected virtual void Seed(ModelBuilder modelBuilder)
        {
            string   currentUserName = "******";
            DateTime date            = new DateTime(2018, 1, 1, 0, 0, 0, DateTimeKind.Utc);

            Guid userId = new Guid("fa64114f-9aaf-492a-a9aa-43022bfac171");
            var  user   = User.Create(userId, "Administrator");

            ((IAuditableEntity)user).CreateAuditable(date, currentUserName);

            modelBuilder.Entity <User>().HasData(user);

            Guid credentialTypeId = new Guid("105ef49d-42b6-4fb8-8d9e-52aaa16f42a9");
            var  credentialType   = CredentialType.Create(credentialTypeId, "Email address", "email");

            ((IAuditableEntity)credentialType).CreateAuditable(date, currentUserName);
            modelBuilder.Entity <CredentialType>().HasData(credentialType);

            Guid credentialId = new Guid("132a06e7-4c9e-49f9-8f94-0604f01a5c16");
            var  credential   = Credential.Create(credentialId, userId, credentialTypeId, "*****@*****.**", Md5HashHelper.ComputeHash("admin"));

            ((IAuditableEntity)credential).CreateAuditable(date, currentUserName);
            modelBuilder.Entity <Credential>().HasData(credential);
        }