public void GivenWebSiteCommunication_WhenDeriving_ThenRequiredRelationsMustExist() { var person = new PersonBuilder(this.Session).WithLastName("person").Build(); this.Session.Derive(); this.Session.Commit(); var builder = new WebSiteCommunicationBuilder(this.Session).WithFromParty(person).WithToParty(person); var communication = builder.Build(); var validation = this.Session.Derive(false); Assert.True(validation.HasErrors); this.Session.Rollback(); builder.WithSubject("Website communication"); communication = builder.Build(); validation = this.Session.Derive(false); Assert.False(validation.HasErrors); Assert.Equal(communication.CommunicationEventState, new CommunicationEventStates(this.Session).Scheduled); Assert.Equal(communication.CommunicationEventState, communication.LastCommunicationEventState); }
public void GivenWebSiteCommunication_WhenDeriving_ThenRequiredRelationsMustExist() { var builder = new WebSiteCommunicationBuilder(this.DatabaseSession); var communication = builder.Build(); Assert.IsTrue(this.DatabaseSession.Derive().HasErrors); builder.WithSubject("Website communication"); communication = builder.Build(); this.DatabaseSession.Derive(true); Assert.IsFalse(this.DatabaseSession.Derive().HasErrors); Assert.AreEqual(communication.CurrentCommunicationEventStatus.CommunicationEventObjectState, new CommunicationEventObjectStates(this.DatabaseSession).Scheduled); Assert.AreEqual(communication.CurrentObjectState, new CommunicationEventObjectStates(this.DatabaseSession).Scheduled); Assert.AreEqual(communication.CurrentObjectState, communication.LastObjectState); }
public void GivenWebSiteCommunication_WhenDeriving_ThenInvolvedPartiesAreDerived() { var owner = new PersonBuilder(this.Session).WithLastName("owner").Build(); var originator = new PersonBuilder(this.Session).WithLastName("originator").Build(); var receiver = new PersonBuilder(this.Session).WithLastName("receiver").Build(); this.Session.Derive(); this.Session.Commit(); var communication = new WebSiteCommunicationBuilder(this.Session) .WithSubject("Hello world!") .WithOwner(owner) .WithFromParty(originator) .WithToParty(receiver) .Build(); this.Session.Derive(); Assert.Equal(3, communication.InvolvedParties.Count); Assert.Contains(owner, communication.InvolvedParties); Assert.Contains(originator, communication.InvolvedParties); Assert.Contains(receiver, communication.InvolvedParties); }
public void GivenWebSiteCommunication_WhenDeriving_ThenInvolvedPartiesAreDerived() { var owner = new PersonBuilder(this.DatabaseSession).WithLastName("owner").Build(); var originator = new PersonBuilder(this.DatabaseSession).WithLastName("originator").Build(); var receiver = new PersonBuilder(this.DatabaseSession).WithLastName("receiver").Build(); this.DatabaseSession.Derive(true); this.DatabaseSession.Commit(); var communication = new WebSiteCommunicationBuilder(this.DatabaseSession) .WithSubject("Hello world!") .WithOwner(owner) .WithOriginator(originator) .WithReceiver(receiver) .Build(); this.DatabaseSession.Derive(true); Assert.AreEqual(3, communication.InvolvedParties.Count); Assert.Contains(owner, communication.InvolvedParties); Assert.Contains(originator, communication.InvolvedParties); Assert.Contains(receiver, communication.InvolvedParties); }