public void PlaceClientBet_UserIsAbleToPlaceCertainBet_BetIsPlacedReturnTrue()
        {
            //Arrange
            CreateUserinDatabase();
            var moneyTransfer  = 10M;
            var betValue       = 10M;
            var dogToWin       = 1;
            var isStandard     = true;
            var manageUserData = new ManageUserData();
            var loadUserData   = new LoadUserData();

            //Action
            //Add client to dictionary because all manageUserData methods relay on it.
            loadUserData.AddClientToList(connectionId, username);
            //Transfer money to client account that he is able to place given bet.
            manageUserData.AddCashToClientAccount(connectionId, moneyTransfer);
            //Get the result if bet has been placed.
            var result = manageUserData.PlaceClientBet(connectionId, betValue, dogToWin, isStandard);

            //Assert
            Assert.IsTrue(result);

            //Delete recently added player in database to avoid conflicts with further tests.
            DeleteUserFromDatabase(username);
        }
Esempio n. 2
0
 public EditUserViewModel(ManageUserData manageUser)
 {
     Id                       = manageUser.Id;
     OrganisationId           = manageUser.OrganisationId;
     OrganisationName         = manageUser.OrganisationName;
     UserId                   = manageUser.UserId;
     FirstName                = manageUser.FirstName;
     LastName                 = manageUser.LastName;
     Email                    = manageUser.Email;
     IsCompetentAuthorityUser = manageUser.IsCompetentAuthorityUser;
     UserStatus               = manageUser.UserStatus;
     UserStatusSelectList     = new SelectList(EnumHelper.GetValues(typeof(UserStatus)), "Key", "Value");
     CanManageStatus          = manageUser.CanManageRoleAndStatus;
     Role                     = manageUser.Role;
     CanEditUser              = manageUser.CanEditUser;
 }
 public EditUserViewModel(ManageUserData manageUser)
 {
     Id = manageUser.Id;
     OrganisationId = manageUser.OrganisationId;
     OrganisationName = manageUser.OrganisationName;
     UserId = manageUser.UserId;
     FirstName = manageUser.FirstName;
     LastName = manageUser.LastName;
     Email = manageUser.Email;
     IsCompetentAuthorityUser = manageUser.IsCompetentAuthorityUser;
     UserStatus = manageUser.UserStatus;
     UserStatusSelectList = new SelectList(EnumHelper.GetValues(typeof(UserStatus)), "Key", "Value");
     CanManageStatus = manageUser.CanManageRoleAndStatus;
     Role = manageUser.Role;
     CanEditUser = manageUser.CanEditUser;
 }
Esempio n. 4
0
        public async void OrganisationUserExists_AndMatchesCurrentUserId_ChangesManageUserDataToNotAllowRoleAndStatusChange()
        {
            var userId             = Guid.NewGuid();
            var organisationUserId = Guid.NewGuid();

            var manageUserData = new ManageUserData
            {
                UserId = userId.ToString()
            };

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

            A.CallTo(() => userContext.UserId)
            .Returns(userId);

            var result = await GetUserDataHandler().HandleAsync(new GetUserData(organisationUserId));

            Assert.False(result.CanManageRoleAndStatus);
        }
        public async void OrganisationUserExists_AndDoesNotMatchCurrentUserId_DoesNotChangeManageUserData()
        {
            var existingUserId = Guid.NewGuid();
            var currentUserId = Guid.NewGuid();
            var organisationUserId = Guid.NewGuid();

            var manageUserData = new ManageUserData
            {
                UserId = existingUserId.ToString()
            };

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

            A.CallTo(() => userContext.UserId)
                .Returns(currentUserId);

            var result = await GetUserDataHandler().HandleAsync(new GetUserData(organisationUserId));

            Assert.Equal(manageUserData, result);
        }
Esempio n. 6
0
        public async void OrganisationUserExists_AndDoesNotMatchCurrentUserId_DoesNotChangeManageUserData()
        {
            var existingUserId     = Guid.NewGuid();
            var currentUserId      = Guid.NewGuid();
            var organisationUserId = Guid.NewGuid();

            var manageUserData = new ManageUserData
            {
                UserId = existingUserId.ToString()
            };

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

            A.CallTo(() => userContext.UserId)
            .Returns(currentUserId);

            var result = await GetUserDataHandler().HandleAsync(new GetUserData(organisationUserId));

            Assert.Equal(manageUserData, result);
        }
        public void PlaceClientBet_UserCanNotPlaceCertainBet_BetIsNotPlacedReturnFalse()
        {
            //Arrange
            CreateUserinDatabase();
            var betValue       = 10M;
            var dogToWin       = 1;
            var isStandard     = true;
            var manageUserData = new ManageUserData();
            var loadUserData   = new LoadUserData();

            //Action
            //Add client to dictionary because all manageUserData methods relay on it.
            loadUserData.AddClientToList(connectionId, username);
            //Get the result if bet has been placed. User tries to place bet with 0 cash on his account.
            var result = manageUserData.PlaceClientBet(connectionId, betValue, dogToWin, isStandard);

            //Assert
            Assert.IsFalse(result);

            //Delete recently added player in database to avoid conflicts with further tests.
            DeleteUserFromDatabase(username);
        }
        public void AddCashToClientAccount_ClientTransfersCertainAmountOfCash_HisAccountBalanceIsUpdated()
        {
            //Arrange
            CreateUserinDatabase();
            var moneyTransfer  = 100M;
            var manageUserData = new ManageUserData();
            var loadUserData   = new LoadUserData();
            var database       = new DataClassesBettingParlorDataContext();

            //Action
            //Add client to dictionary because all manageUserData methods relay on it.
            loadUserData.AddClientToList(connectionId, username);
            manageUserData.AddCashToClientAccount(connectionId, moneyTransfer);
            decimal accountBalanceAfterTransfer = database.Players.SingleOrDefault(p => p.UserName == username).CurrentAccountBalance;

            //Assert
            //New user is created so after transfer his accountBalance must equal the amount he transfered.
            Assert.AreEqual(moneyTransfer, accountBalanceAfterTransfer);

            //Delete recently added player in database to avoid conflicts with further tests.
            DeleteUserFromDatabase(username);
        }
Esempio n. 9
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 async void OrganisationUserExists_AndMatchesCurrentUserId_ChangesManageUserDataToNotAllowRoleAndStatusChange()
        {
            var userId = Guid.NewGuid();
            var organisationUserId = Guid.NewGuid();

            var manageUserData = new ManageUserData
            {
                UserId = userId.ToString()
            };

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

            A.CallTo(() => userContext.UserId)
                .Returns(userId);

            var result = await GetUserDataHandler().HandleAsync(new GetUserData(organisationUserId));

            Assert.False(result.CanManageRoleAndStatus);
        }
        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;
        }