Ejemplo n.º 1
0
        public async Task PrivateBoardJoinFails()
        {
            user = Auth.CurrentUser = await GetUser("[email protected]", null);

            BoardExtensions.Board = await BoardExtensions.BoardLookup(services, "benefact");

            var rpc   = new BoardsInterface(services);
            var error = await Assert.ThrowsExceptionAsync <HTTPError>(
                () => rpc.Join(null));
        }
Ejemplo n.º 2
0
        public async Task PrivateBoardShowsResult()
        {
            user = Auth.CurrentUser = await GetUser("[email protected]", null);

            BoardExtensions.Board = await BoardExtensions.BoardLookup(services, "benefact");

            var rpc    = new BoardsInterface(services);
            var result = await rpc.Get(null);

            Assert.AreEqual("benefact", result.UrlName);
            Assert.AreEqual(null, result.UserPrivilege);
            Assert.AreEqual(Privilege.None, result.DefaultPrivilege);
            Assert.IsNotNull(result.Description);
        }
Ejemplo n.º 3
0
        public async Task PublicBoardJoinSucceeds()
        {
            user = Auth.CurrentUser = await GetUser("[email protected]", null);

            BoardExtensions.Board = await services.DoWithDB(async db =>
            {
                var board = await db.Boards.Where(b => b.UrlName == "benefact").FirstAsync();
                board.DefaultPrivilege = Privilege.Read;
                return(board);
            });

            var rpc  = new BoardsInterface(services);
            var role = await rpc.Join(null);

            user = Auth.CurrentUser = await Auth.GetUser(services, "[email protected]");

            Assert.AreEqual(Privilege.Read, role.Privilege);
            Assert.AreEqual(Privilege.Read, user.Roles.First(r => r.BoardId == role.BoardId).Privilege);
        }
Ejemplo n.º 4
0
        public async Task CreateInviteReturnsNew()
        {
            user = Auth.CurrentUser = await GetUser("[email protected]", Privilege.Admin);

            BoardExtensions.Board = await BoardExtensions.BoardLookup(services, "benefact");

            var rpc         = new BoardsInterface(services);
            var firstResult = await rpc.Invite(new CreateInviteRequest()
            {
                Privilege = (Privilege)7
            });

            Assert.IsNotNull(firstResult);
            var secondResult = await rpc.Invite(new CreateInviteRequest()
            {
                Privilege = (Privilege)3
            });

            Assert.AreNotEqual(firstResult, secondResult);
        }
Ejemplo n.º 5
0
        public async Task PrivateBoardJoinSucceeds()
        {
            user = Auth.CurrentUser = await GetUser("*****@*****.**", Privilege.Admin);

            BoardExtensions.Board = await BoardExtensions.BoardLookup(services, "benefact");

            var rpc         = new BoardsInterface(services);
            var firstResult = await rpc.Invite(new CreateInviteRequest()
            {
                Privilege = (Privilege)7
            });

            Assert.IsNotNull(firstResult);
            user = Auth.CurrentUser = await GetUser("[email protected]", null);

            var joinResult = await rpc.Join(new JoinRequest()
            {
                Key = firstResult
            });

            Assert.AreEqual(7, (int)joinResult.Privilege);
        }
Ejemplo n.º 6
0
        public async Task CardStateUpdates()
        {
            user = Auth.CurrentUser = await GetUser("*****@*****.**", Privilege.Admin);

            BoardExtensions.Board = await BoardExtensions.BoardLookup(services, "benefact");

            Auth.CurrentRole = user.Roles.FirstOrDefault(r => r.BoardId == BoardExtensions.Board?.Id);
            var query = new CardQuery()
            {
                Groups = new Dictionary <string, List <CardQueryTerm> >()
                {
                    { "Done", new List <CardQueryTerm>()
                      {
                          new CardQueryTerm()
                          {
                              State = CardState.InProgress
                          }
                      } }
                }
            };
            var boards   = new BoardsInterface(services);
            var response = await boards.Get(query);

            var cards      = response.Cards.First().Value;
            var doneColumn = response.Columns.First(c => c.State == CardState.Complete);

            Assert.IsTrue(cards.Any());
            var rpc = new CardsInterface(services);
            await rpc.Update(new CardData()
            {
                ColumnId = doneColumn.Id,
                Id       = cards.First().Id,
            });

            var response2 = await boards.Get(query);

            Assert.IsTrue(response2.Cards.Values.First().Count < cards.Count);
        }