public void Create_WithBindings_Success()
        {
            var          buildsBindings = FakeGenerator.BuildsBindings.Generate(2);
            Distribution distribution   = CreateDistribution();

            distribution.AddBuildBindings(buildsBindings, FakeGenerator.GetUser().Sid);

            AssertDistribution(distribution, Owners, AvailableLifeCycles, LifeCycleStateRules);
            Assert.IsType <DistributionCreated>(GetUncommitedChanges(distribution)[0]);
            Assert.IsType <BuildBindingsAdded>(GetUncommitedChanges(distribution)[1]);
            AssertDistributionBuildBinding(distribution, GetUncommitedChanges(distribution)[1], buildsBindings);
            Assert.True(distribution.GetUncommitedChanges().Count == 2);
        }
        public void AddOwners_PropertiesChanged()
        {
            Distribution distribution = CreateDistribution();
            User         newOwner     = FakeGenerator.GetUser();

            Assert.DoesNotContain(newOwner, distribution.Owners);

            distribution.AddOwners(new List <User> {
                newOwner
            });

            Assert.Contains(newOwner, distribution.Owners);
            Assert.IsType <DistributionOwnersAdded>(distribution.GetUncommitedChanges().Last());
        }
        public void TestValidate_UpdateDistribution_DataIsValid_ShouldHaveNotError()
        {
            lighthouseServiceMock.Setup(x => x.IsValidUsers(It.IsAny <string[]>())).ReturnsAsync(true);
            distributionRepositoryMock
            .Setup(x => x.Any(It.IsAny <Expression <Func <DistributionReadModel, bool> > >(), CancellationToken.None))
            .ReturnsAsync(true);
            distributionRepositoryMock
            .Setup(x => x.Query(It.IsAny <Expression <Func <DistributionReadModel, bool> > >(), CancellationToken.None))
            .ReturnsAsync(new DistributionReadModel
            {
                Id     = distributionModel.Id,
                Name   = distributionModel.Name,
                Owners = new List <User> {
                    FakeGenerator.GetUser()
                },
                AvailableLifeCycles = distributionModel.AvailableLifeCycles.ToList(),
            });

            var result = validator.TestValidate(distributionModel, "Update");

            result.ShouldNotHaveAnyValidationErrors();
        }