public void AdministratorAddMany() { // Arrange var administrator = new Persons(this.Session).FindBy(Persons.Meta.UserName, Users.AdministratorUserName); var c1a = new C1Builder(this.Session) .Build(); var c1b = new C1Builder(this.Session) .Build(); var c1c = new C1Builder(this.Session) .Build(); c1a.AddC1C1One2Many(c1b); this.Session.Derive(); this.Session.Commit(); var saveRequest = new SaveRequest { Objects = new[] { new SaveRequestObject { I = c1a.Id.ToString(), V = c1a.Strategy.ObjectVersion.ToString(), Roles = new List<SaveRequestRole> { new SaveRequestRole { T = "C1C1One2Many", A = new [] { c1c.Id.ToString() } } } } } }; var controller = new AngularController { AllorsSession = this.Session, AuthenticatedUser = administrator }; // Act var jsonResult = (JsonResult)controller.Save(saveRequest); var saveResponse = (SaveResponse)jsonResult.Data; // Assert this.Session.Rollback(); saveResponse.Errors.Count.ShouldEqual(0); c1a.C1C1One2Manies.ShouldNotBeSameAs(new[] { c1b, c1c }); }
public void Administrator() { // Arrange var administrator = new Persons(this.Session).FindBy(Persons.Meta.UserName, Users.AdministratorUserName); var c1a = new C1Builder(this.Session) .WithC1AllorsString("c1") .WithI1AllorsString("i1") .WithI12AllorsString("i12") .Build(); this.Session.Derive(); this.Session.Commit(); var loadRequest = new LoadRequest { Objects = new[] { c1a.Id.ToString() } }; var controller = new AngularController { AllorsSession = this.Session, AuthenticatedUser = administrator}; // Act var jsonResult = (JsonResult)controller.Load(loadRequest); var loadResponse = (LoadResponse)jsonResult.Data; // Assert loadResponse.Objects.Length.ShouldEqual(1); var responseC1a = loadResponse.Objects[0]; responseC1a.Roles.Length.ShouldEqual(2); var responseC1AllorsString = responseC1a.Roles.First(v => v[0].Equals("C1AllorsString")); responseC1AllorsString[1].ShouldEqual("rw"); responseC1AllorsString[2].ShouldEqual("c1"); var responseI1AllorsString = responseC1a.Roles.First(v => v[0].Equals("I1AllorsString")); responseI1AllorsString[1].ShouldEqual("rw"); responseI1AllorsString[2].ShouldEqual("i1"); }
public void Guest() { // Arrange var c1a = new C1Builder(this.Session) .WithC1AllorsString("c1") .WithI1AllorsString("i1") .WithI12AllorsString("i12") .Build(); this.Session.Derive(); this.Session.Commit(); var loadRequest = new LoadRequest { Objects = new []{ c1a.Id.ToString() } }; var controller = new AngularController { AllorsSession = this.Session }; // Act var jsonResult = (JsonResult)controller.Load(loadRequest); var loadResponse = (LoadResponse)jsonResult.Data; // Assert loadResponse.Objects.Length.ShouldEqual(1); var responseC1a = loadResponse.Objects[0]; responseC1a.Roles.Length.ShouldEqual(2); var responseC1AllorsString = responseC1a.Roles.First(v => v[0].Equals("C1AllorsString")); responseC1AllorsString[1].ShouldEqual("r"); responseC1AllorsString[2].ShouldEqual("c1"); var responseI1AllorsString = responseC1a.Roles.First(v => v[0].Equals("I1AllorsString")); responseI1AllorsString[1].ShouldEqual("r"); responseI1AllorsString[2].ShouldEqual("i1"); }
public void ManyRole() { // Arrange var koen = new PersonBuilder(this.Session) .WithFirstName("Koen") .WithLastName("Van Exem") .WithUserName("kvex") .WithUserEmail("*****@*****.**") .Build(); var john = new PersonBuilder(this.Session) .WithFirstName("John") .WithLastName("Doe") .WithUserName("jod") .WithUserEmail("*****@*****.**") .Build(); var jane = new PersonBuilder(this.Session) .WithFirstName("Jane") .WithLastName("Doe") .WithUserName("jad") .WithUserEmail("*****@*****.**") .Build(); var organisation = new OrganisationBuilder(this.Session) .WithName("Acme") .WithOwner(koen) .WithEmployee(john) .WithEmployee(jane) .Build(); this.Session.Derive(); this.Session.Commit(); // Bump version number organisation.Description = "Acme industries"; this.Session.Derive(); this.Session.Commit(); var controller = new AngularController { AllorsSession = this.Session, AuthenticatedUser = koen }; // Act var jsonResult = (JsonResult)controller.Employees(); var response = (Response)jsonResult.Data; // Assert response.Objects.Length.ShouldEqual(3); var responseOrganisation = response.Objects.First(v => v[0].Equals(organisation.Id.ToString())); responseOrganisation[1].ShouldEqual(organisation.Strategy.ObjectVersion.ToString()); var responseJohn = response.Objects.First(v => v[0].Equals(john.Id.ToString())); responseJohn[1].ShouldEqual(john.Strategy.ObjectVersion.ToString()); var responseJane = response.Objects.First(v => v[0].Equals(jane.Id.ToString())); responseJane[1].ShouldEqual(jane.Strategy.ObjectVersion.ToString()); response.NamedObjects.Count.ShouldEqual(1); var namedObject = response.NamedObjects["root"]; namedObject.ShouldEqual(organisation.Id.ToString()); }
public void OneRole() { // Arrange var media = new MediaBuilder(this.Session) .Build(); var user = new PersonBuilder(this.Session) .WithFirstName("Koen") .WithLastName("Van Exem") .WithUserName("kvex") .WithUserEmail("*****@*****.**") .WithPhoto(media) .Build(); this.Session.Derive(); this.Session.Commit(); // Bump version number user.MiddleName = "x"; this.Session.Derive(); this.Session.Commit(); var controller = new AngularController { AllorsSession = this.Session, AuthenticatedUser = user }; // Act var jsonResult = (JsonResult)controller.Main(); var response = (Response)jsonResult.Data; // Assert response.Objects.Length.ShouldEqual(2); var userObject = response.Objects.First(v => v[0].Equals(user.Id.ToString())); userObject[1].ShouldEqual(user.Strategy.ObjectVersion.ToString()); var mediaObject = response.Objects.First(v => v[0].Equals(media.Id.ToString())); mediaObject[1].ShouldEqual(media.Strategy.ObjectVersion.ToString()); response.NamedObjects.Count.ShouldEqual(1); var namedObject = response.NamedObjects["root"]; namedObject.ShouldEqual(user.Id.ToString()); }
public void NoTree() { // Arrange var user = new PersonBuilder(this.Session) .WithFirstName("Koen") .WithLastName("Van Exem") .WithUserName("kvex") .WithUserEmail("*****@*****.**") .Build(); var organisation = new OrganisationBuilder(this.Session) .WithName("Acme") .Build(); this.Session.Derive(); this.Session.Commit(); var controller = new AngularController { AllorsSession = this.Session, AuthenticatedUser = user }; // Act var jsonResult = (JsonResult)controller.NoTree(); var response = (Response)jsonResult.Data; // Assert response.Objects.Length.ShouldEqual(2); var userArray = response.Objects.First(v=>v[0] == user.Id.ToString()); userArray[1].ShouldEqual(user.Strategy.ObjectVersion.ToString()); var organisationArray = response.Objects.First(v => v[0] == organisation.Id.ToString()); organisationArray[1].ShouldEqual(organisation.Strategy.ObjectVersion.ToString()); response.NamedObjects.Count.ShouldEqual(1); var namedObject = response.NamedObjects["object"]; namedObject.ShouldEqual(user.Id.ToString()); response.NamedCollections.Count.ShouldEqual(1); var nameCollection = response.NamedCollections["collection"]; nameCollection.Length.ShouldEqual(1); nameCollection[0].ShouldEqual(organisation.Id.ToString()); }
public void NoRoles() { // Arrange var user = new PersonBuilder(this.Session) .WithFirstName("Koen") .WithLastName("Van Exem") .WithUserName("kvex") .WithUserEmail("*****@*****.**") .Build(); this.Session.Derive(); this.Session.Commit(); var controller = new AngularController { AllorsSession = this.Session , AuthenticatedUser = user}; // Act var jsonResult = (JsonResult)controller.Main(); var response = (Response)jsonResult.Data; // Assert response.Objects.Length.ShouldEqual(1); var obj = response.Objects[0]; obj[0].ShouldEqual(user.Id.ToString()); obj[1].ShouldEqual(user.Strategy.ObjectVersion.ToString()); response.NamedObjects.Count.ShouldEqual(1); var namedObject = response.NamedObjects["root"]; namedObject.ShouldEqual(user.Id.ToString()); }
public void GuestSetUnit() { // Arrange var c1a = new C1Builder(this.Session) .WithC1AllorsString("c1") .WithI1AllorsString("i1") .WithI12AllorsString("i12") .Build(); this.Session.Derive(); this.Session.Commit(); var saveRequest = new SaveRequest { Objects = new[] { new SaveRequestObject { I = c1a.Id.ToString(), V = c1a.Strategy.ObjectVersion.ToString(), Roles = new List<SaveRequestRole> { new SaveRequestRole { T = "C1AllorsString", S = "new c1" } } } } }; var controller = new AngularController { AllorsSession = this.Session }; // Act var jsonResult = (JsonResult)controller.Save(saveRequest); var saveResponse = (SaveResponse)jsonResult.Data; // Assert this.Session.Rollback(); saveResponse.Errors.Count.ShouldEqual(1); c1a.C1AllorsString.ShouldEqual("c1"); }