예제 #1
0
        public async void GetUserDataHandler_RequestingUserData_ReturnsCorrectUser()
        {
            // Arrange
            IGetManageUserDataAccess dataAccess    = CreateFakeDataAccess();
            IWeeeAuthorization       authorization = AuthorizationBuilder.CreateUserWithAllRights();

            GetUserDataHandler handler = new GetUserDataHandler(userContext, authorization, dataAccess);

            GetUserData request = new GetUserData(orgUserId);

            // Act
            var response = await handler.HandleAsync(request);

            // Assert
            Assert.NotNull(response);
            Assert.Equal(response.Email, "*****@*****.**");
            Assert.Equal(response.OrganisationName, "Test ltd.");
        }
예제 #2
0
        public async void GetUserDataHandler_WithNonInternalUser_ThrowSecurityException(AuthorizationBuilder.UserType userType)
        {
            // Arrange
            IGetManageUserDataAccess dataAccess = A.Fake <IGetManageUserDataAccess>();

            A.CallTo(() => dataAccess.GetCompetentAuthorityUser(Guid.NewGuid())).Returns(new ManageUserData());
            A.CallTo(() => dataAccess.GetOrganisationUser(Guid.NewGuid())).Returns(new ManageUserData());

            IWeeeAuthorization authorization = AuthorizationBuilder.CreateFromUserType(userType);

            GetUserDataHandler handler = new GetUserDataHandler(userContext, authorization, dataAccess);

            GetUserData request = new GetUserData(Guid.NewGuid());

            // Act
            Func <Task <ManageUserData> > action = () => handler.HandleAsync(request);

            // Assert
            await Assert.ThrowsAsync <SecurityException>(action);
        }
예제 #3
0
        private IGetManageUserDataAccess CreateFakeDataAccess()
        {
            IGetManageUserDataAccess dataAccess = A.Fake <IGetManageUserDataAccess>();

            ManageUserData manageUserData = new ManageUserData
            {
                UserStatus               = UserStatus.Active,
                OrganisationId           = Guid.NewGuid(),
                Id                       = orgUserId,
                UserId                   = Guid.NewGuid().ToString(),
                Email                    = "*****@*****.**",
                FirstName                = "Test",
                LastName                 = "Test",
                OrganisationName         = "Test ltd.",
                IsCompetentAuthorityUser = false
            };

            A.CallTo(() => dataAccess.GetOrganisationUser(orgUserId)).Returns(manageUserData);

            A.CallTo(() => dataAccess.GetCompetentAuthorityUser(orgUserId)).Returns(new ManageUserData());

            return(dataAccess);
        }
 public GetUserDataHandlerTests()
 {
     userContext = A.Fake<IUserContext>();
     weeeAuthorization = A.Fake<IWeeeAuthorization>();
     dataAccess = A.Fake<IGetManageUserDataAccess>();
 }
예제 #5
0
 public GetUserDataHandlerTests()
 {
     userContext       = A.Fake <IUserContext>();
     weeeAuthorization = A.Fake <IWeeeAuthorization>();
     dataAccess        = A.Fake <IGetManageUserDataAccess>();
 }
예제 #6
0
 public GetUserDataHandler(IUserContext userContext, IWeeeAuthorization authorization, IGetManageUserDataAccess dataAccess)
 {
     this.userContext   = userContext;
     this.authorization = authorization;
     this.dataAccess    = dataAccess;
 }