public async Task WhenGettingUserAccount()
        {
            var user = new User
            {
                BankDetails = new BankDetails
                {
                    AccountNumber = "123",
                    Name          = "BankX"
                }
            };

            var accountProvider = Substitute.For <IAccountProvider>();

            accountProvider.Name.Returns("BankY");

            var database   = Substitute.For <IMongoDatabase>();
            var collection = Substitute.For <IMongoCollection <User> >();
            var cursor     = Substitute.For <IAsyncCursor <User> >();

            cursor.Current.Returns(new[] { user });
            cursor.MoveNextAsync(CancellationToken.None).Returns(true, false);
            collection.FindAsync <User>(Arg.Any <Expression <Func <User, bool> > >(), null, CancellationToken.None).ReturnsForAnyArgs(cursor);
            database.GetCollection <User>("users").Returns(collection);

            var handler = new GetUserAccount(new[] { accountProvider }, database);

            _result = await handler.Handle(new GetUserAccount.Query(user.Id), CancellationToken.None);
        }
Exemplo n.º 2
0
 GetUserAccountResponse IUserAccountsManager.GetUserAccount(IRequest request, GetUserAccount body)
 {
     return(new GetUserAccountResponse
     {
         UserAccount = (UserAccount)GetUserAccount(request.GetCurrentUser(), body.Id),
     });
 }
Exemplo n.º 3
0
            public void WhenAllPropertiesValid_ThenSucceeds()
            {
                var dto = new GetUserAccount
                {
                    Id = "avalue",
                };

                validator.ValidateAndThrow(dto);
            }
Exemplo n.º 4
0
        /// <summary>
        /// Provides the Get request for the 'UserAccounts' resource.
        /// </summary>
        public GetUserAccountResponse Get(GetUserAccount body)
        {
            return(ProcessRequest(body, HttpStatusCode.OK, () =>
            {
                var response = this.UserAccountsManager.GetUserAccount(this.Request, body);

                return response;
            }));
        }
Exemplo n.º 5
0
            public void WhenIdIsNull_ThenThrows()
            {
                var dto = new GetUserAccount
                {
                    Id = null,
                };

                Assert.Throws <ValidationException>(FluentValidation <GetUserAccount> .NotEmptyErrorMessage(x => x.Id),
                                                    () => validator.ValidateAndThrow(dto));
            }
Exemplo n.º 6
0
        public async Task <SPGetUserAccount> GetUserProfile(int UserID)
        {
            SqlParameter userParam = new SqlParameter {
                ParameterName = "@UserID", SqlDbType = SqlDbType.Int, Value = UserID
            };

            return(await GetUserAccount.FromSql("EXEC CoQ.GetUserAccount @UserID", userParam)
                   .AsNoTracking()
                   .FirstOrDefaultAsync());
        }
Exemplo n.º 7
0
        public void TaskSuccessTest()
        {
            var addUserTask   = new AddUser(DbContext, new AddPerson(DbContext, new FormattingService()), new FormattingService());
            var testUser      = TestsModel.User;
            var addUserResult = addUserTask.DoTask(testUser);

            Assert.IsTrue(addUserResult.Success);
            Assert.IsNull(addUserResult.Exception);
            Assert.IsNotNull(addUserResult.Data);

            var userId = addUserResult.Data;

            Assert.IsNotNull(userId);
            Assert.IsTrue(userId > 0);

            var paymentService = new ListServices(DbContext).DoTask(null).Data.SingleOrDefault(s => s.Name.ToLower() == "payment");

            Assert.IsNotNull(paymentService);

            var allPlatforms     = new ListPlatforms(DbContext).DoTask(null).Data.ToList();
            var paymentPlatforms = new List <Platform>();

            foreach (var platform in allPlatforms)
            {
                paymentPlatforms.AddRange(from service in platform.Services where service.Id == paymentService.Id select platform);
            }

            var paymentPlatform = paymentPlatforms[new Random().Next(0, paymentPlatforms.Count)];

            var userAccount = new UserAccount
            {
                IsPreferred = true,
                Platform    = paymentPlatform,
                User        = testUser,
                Username    = "******" + DateTime.Now.Ticks
            };

            var task   = new AddUserAccount(DbContext);
            var result = task.DoTask(userAccount);

            Assert.IsTrue(result.Success);
            Assert.IsNull(result.Exception);
            Assert.IsNotNull(result.Data);

            var getUserAccountTask   = new GetUserAccount(DbContext);
            var getUserAccountResult = getUserAccountTask.DoTask(userAccount.Id);

            Assert.IsTrue(getUserAccountResult.Success);
            Assert.IsNull(getUserAccountResult.Exception);
            Assert.IsNotNull(getUserAccountResult.Data);

            Assert.AreEqual(userAccount.PlatformId, getUserAccountResult.Data.PlatformId);
            Assert.AreEqual(userAccount.UserId, getUserAccountResult.Data.UserId);
            Assert.AreEqual(userAccount.IsPreferred, getUserAccountResult.Data.IsPreferred);
            Assert.AreEqual(userAccount.Username, getUserAccountResult.Data.Username);

            var person           = testUser.Person;
            var removeUserTask   = new RemoveUser(DbContext);
            var removeUserResult = removeUserTask.DoTask(testUser);

            Assert.IsTrue(removeUserResult.Success);
            Assert.IsNull(removeUserResult.Exception);

            var removePersonTask   = new RemovePerson(DbContext);
            var removePersonResult = removePersonTask.DoTask(person);

            Assert.IsTrue(removePersonResult.Success);
            Assert.IsNull(removePersonResult.Exception);
        }