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); }
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); }
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); }