示例#1
0
            public async Task ChangeOwner_WhenUserAndCostAreValid_ShouldSaveHistoricalOwner()
            {
                // Arrange
                var oldOwnerId = Guid.NewGuid();
                var oldOwner   = new CostUser {
                    Id = oldOwnerId
                };
                var newOwnerId = Guid.NewGuid();
                var newOwner   = new CostUser {
                    Id = newOwnerId
                };
                var cost = new Cost {
                    Owner = oldOwner, OwnerId = oldOwner.Id, Id = Guid.NewGuid()
                };

                cost.CostOwners = new List <CostOwner>();

                // Act
                var result = await CostService.ChangeOwner(User, cost, newOwner);

                // Assert
                result.CostOwners.Should().HaveCount(1);
                Assert.AreEqual(result.CostOwners[0].UserId, oldOwner.Id);
                Assert.AreEqual(result.CostOwners[0].CostId, cost.Id);
            }
示例#2
0
            public async Task ChangeOwner_WhenUserAndCostAreValid_RevokeAccessForPreviousOwner()
            {
                // Arrange
                var previousOwner = new CostUser
                {
                    Id = Guid.NewGuid()
                };
                var costId = Guid.NewGuid();
                var cost   = new Cost
                {
                    Id         = costId,
                    Owner      = previousOwner,
                    CostOwners = new List <CostOwner>(),
                };
                var ownerId = Guid.NewGuid();
                var owner   = new CostUser {
                    Id = ownerId
                };

                // Act
                await CostService.ChangeOwner(User, cost, owner);

                // Assert
                CostStageRevisionPermissionServiceMock.Verify(p =>
                                                              p.RevokeCostPermission(costId, Roles.CostEditor, new[] { previousOwner }, null, false));
            }
示例#3
0
            public async Task ChangeOwner_WhenUserAndCostAreValid_ShouldChageOwnerOfTheCost()
            {
                // Arrange
                var cost = new Cost {
                    Owner = new CostUser(), CostOwners = new List <CostOwner>()
                };
                var ownerId = Guid.NewGuid();
                var owner   = new CostUser {
                    Id = ownerId
                };

                // Act
                var result = await CostService.ChangeOwner(User, cost, owner);

                // Assert
                result.Owner.Should().Be(owner);
                result.OwnerId.Should().Be(ownerId);
            }