public void GivenorganisationContactRelationship_WhenDeriving_ThenRequiredRelationsMustExist()
        {
            var contact = new PersonBuilder(this.DatabaseSession).WithLastName("organisationContact").Build();
            this.DatabaseSession.Derive(true);
            this.DatabaseSession.Commit();

            this.InstantiateObjects(this.DatabaseSession);

            var builder = new OrganisationContactRelationshipBuilder(this.DatabaseSession);
            var relationship = builder.Build();

            this.DatabaseSession.Derive();
            Assert.IsTrue(relationship.Strategy.IsDeleted);

            this.DatabaseSession.Rollback();

            builder.WithContact(contact);
            relationship = builder.Build();

            this.DatabaseSession.Derive();
            Assert.IsTrue(relationship.Strategy.IsDeleted);

            this.DatabaseSession.Rollback();

            builder.WithOrganisation(new OrganisationBuilder(this.DatabaseSession).WithName("organisation").WithLocale(Singleton.Instance(this.DatabaseSession).DefaultLocale).Build());
            builder.Build();

            Assert.IsFalse(this.DatabaseSession.Derive().HasErrors);
        }
        public void GivenorganisationContactRelationship_WhenDeriving_ThenRequiredRelationsMustExist()
        {
            var contact = new PersonBuilder(this.Session).WithLastName("organisationContact").Build();

            this.Session.Derive();
            this.Session.Commit();

            this.InstantiateObjects(this.Session);

            var builder = new OrganisationContactRelationshipBuilder(this.Session);

            builder.Build();

            Assert.True(this.Session.Derive(false).HasErrors);

            this.Session.Rollback();

            builder.WithContact(contact);
            builder.Build();

            Assert.True(this.Session.Derive(false).HasErrors);

            this.Session.Rollback();

            builder.WithOrganisation(new OrganisationBuilder(this.Session).WithName("organisation").WithLocale(this.Session.GetSingleton().DefaultLocale).Build());
            builder.Build();

            Assert.False(this.Session.Derive(false).HasErrors);
        }
Пример #3
0
        public void GivenSupplierRelationship_WhenContactForOrganisationEnds_ThenContactIsRemovedfromContactsUserGroup()
        {
            this.InstantiateObjects(this.Session);

            var contact2             = new PersonBuilder(this.Session).WithLastName("contact2").Build();
            var contactRelationship2 = new OrganisationContactRelationshipBuilder(this.Session)
                                       .WithOrganisation(this.supplier)
                                       .WithContact(contact2)
                                       .WithFromDate(this.Session.Now())
                                       .Build();

            this.Session.Derive();

            Assert.Equal(2, this.supplierRelationship.Supplier.ContactsUserGroup.Members.Count);
            Assert.True(this.supplierRelationship.Supplier.ContactsUserGroup.Members.Contains(this.contact));
            Assert.True(this.supplierRelationship.Supplier.ContactsUserGroup.Members.Contains(contact2));

            contactRelationship2.ThroughDate = this.Session.Now().AddDays(-1);

            this.Session.Derive();

            Assert.Single(this.supplierRelationship.Supplier.ContactsUserGroup.Members);
            Assert.True(this.supplierRelationship.Supplier.ContactsUserGroup.Members.Contains(this.contact));
            Assert.False(this.supplierRelationship.Supplier.ContactsUserGroup.Members.Contains(contact2));
        }
        public void GivenNextPerson_WhenContactForOrganisationIsCreated_ThenContactIsAddedToUserGroup()
        {
            this.InstantiateObjects(this.DatabaseSession);

            var usergroup = this.organisationContactRelationship.Organisation.CustomerContactUserGroup;
            Assert.AreEqual(1, usergroup.Members.Count);
            Assert.IsTrue(usergroup.Members.Contains(this.organisationContactRelationship.Contact));

            var secondContact = new OrganisationContactRelationshipBuilder(this.DatabaseSession)
                .WithContact(new PersonBuilder(this.DatabaseSession).WithLastName("contact 2").Build())
                .WithOrganisation(new Organisations(this.DatabaseSession).FindBy(Organisations.Meta.Name, "customer"))
                .WithFromDate(DateTime.UtcNow)
                .Build();

            this.DatabaseSession.Derive(true);

            Assert.AreEqual(2, usergroup.Members.Count);
            Assert.IsTrue(usergroup.Members.Contains(secondContact.Contact));
        }
        public void GivenNextPerson_WhenContactForOrganisationIsCreated_ThenContactIsAddedToUserGroup()
        {
            this.InstantiateObjects(this.Session);

            var usergroup = this.organisationContactRelationship.Organisation.ContactsUserGroup;

            Assert.Single(usergroup.Members);
            Assert.True(usergroup.Members.Contains(this.organisationContactRelationship.Contact));

            var secondRelationship = new OrganisationContactRelationshipBuilder(this.Session)
                                     .WithContact(new PersonBuilder(this.Session).WithLastName("contact 2").Build())
                                     .WithOrganisation(this.organisation)
                                     .WithFromDate(this.Session.Now())
                                     .Build();

            this.Session.Derive();

            Assert.Equal(2, usergroup.Members.Count);
            Assert.True(usergroup.Members.Contains(secondRelationship.Contact));
        }
Пример #6
0
        public void GivenSupplierContactRelationship_WhenContactForOrganisationEnds_ThenContactIsRemovedfromSupplierContactsUserGroup()
        {
            this.InstantiateObjects(this.DatabaseSession);

            var contact2 = new PersonBuilder(this.DatabaseSession).WithLastName("contact2").Build();
            var contactRelationship2 = new OrganisationContactRelationshipBuilder(this.DatabaseSession)
                .WithOrganisation(this.supplier)
                .WithContact(contact2)
                .WithFromDate(DateTime.UtcNow)
                .Build();

            this.DatabaseSession.Derive(true);

            Assert.AreEqual(2, this.supplierRelationship.Supplier.SupplierContactUserGroup.Members.Count);
            Assert.IsTrue(this.supplierRelationship.Supplier.SupplierContactUserGroup.Members.Contains(this.contact));

            contactRelationship2.ThroughDate = DateTime.UtcNow.AddDays(-1);

            this.DatabaseSession.Derive(true);

            Assert.AreEqual(1, this.supplierRelationship.Supplier.SupplierContactUserGroup.Members.Count);
            Assert.IsTrue(this.supplierRelationship.Supplier.SupplierContactUserGroup.Members.Contains(this.contact));
            Assert.IsFalse(this.supplierRelationship.Supplier.SupplierContactUserGroup.Members.Contains(contact2));
        }