示例#1
0
        public async Task HandleAsync(ModifyCredentialTypeCommand message, CancellationToken token = default(CancellationToken))
        {
            var type = await this.GetCredentialTypeAsync(message.CredentialTypeId, token);

            type.Modify(message.Name, message.Code, message.Version);
            await _types.SaveChangesAsync(token);
        }
        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);
        }