示例#1
0
        public void AddsAuthorizationToRepository_RaisesIntegrationEvent()
        {
            var repository = new Mock <IUserAuthorizationRepository>(MockBehavior.Strict);

            repository.Setup(r => r.AddAsync(It.Is <AccountingGroups.Domain.UserAuthorization>(p => ValidateEquality(p)))).Returns(Task.CompletedTask).Verifiable();
            repository.Setup(r => r.SaveChanges()).Returns(Task.CompletedTask).Verifiable();

            var busPublisher = new Mock <IBusPublisher>(MockBehavior.Strict);

            busPublisher.Setup(p => p.Publish(It.Is <IAccountingGroupUserAuthorizationCreated>(e => ValidateEquality(e)))).Returns(Task.CompletedTask).Verifiable();

            var userVerifier = new Mock <IUserVerifier>(MockBehavior.Strict);

            userVerifier.Setup(v => v.AssertExists(UserId)).Returns(Task.CompletedTask).Verifiable();

            var agVerifier = new Mock <IAccountingGroupVerifier>(MockBehavior.Strict);

            agVerifier.Setup(v => v.AssertExists(AccountingGroupId)).Returns(Task.CompletedTask).Verifiable();

            var handler = new CreateUserAuthorizationHandler(repository.Object, busPublisher.Object, agVerifier.Object, userVerifier.Object);
            var result  = handler.HandleAsync(Cmd, new Mock <ICorrelationContext>().Object).GetAwaiter().GetResult();

            Assert.IsTrue(result.Successful);
            repository.Verify();
            busPublisher.Verify();
            agVerifier.Verify();
            userVerifier.Verify();
        }
示例#2
0
        public void AddsAuthorizationToRepository_RaisesIntegrationEvent()
        {
            var repository = new Mock <IUserAuthorizationRepository>(MockBehavior.Strict);

            repository.Setup(r => r.AddAsync(It.Is <Domain.UserAuthorization>(p => ValidateEquality(p)))).Returns(Task.CompletedTask).Verifiable();
            repository.Setup(r => r.SaveChanges()).Returns(Task.CompletedTask).Verifiable();

            var busPublisher = new Mock <IBusPublisher>(MockBehavior.Strict);

            busPublisher.Setup(p => p.Publish <IPointOfSaleUserAuthorizationCreated>(It.Is <IPointOfSaleUserAuthorizationCreated>(e => ValidateEquality(e)))).Returns(Task.CompletedTask).Verifiable();

            var handler = new CreateUserAuthorizationHandler(repository.Object, busPublisher.Object);

            handler.HandleAsync(Cmd, new Mock <ICorrelationContext>().Object).GetAwaiter().GetResult();

            repository.Verify();
            busPublisher.Verify();
        }