Exemple #1
0
        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 });
        }
Exemple #2
0
        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");
        }
Exemple #3
0
        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");
        }
Exemple #4
0
        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());
        }
Exemple #5
0
        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());
        }
Exemple #6
0
        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());
        }
Exemple #7
0
        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());
        }
Exemple #8
0
        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");
        }