コード例 #1
0
        public async Task F03_02_Get_User_By_Email()
        {
            var createMessage     = CreateUserMessage();
            var queryUsersMessage = new QueryUsersMessage {
                Email = createMessage.Email
            };

            // Action
            var serviceImpl = GetServiceImpl();
            await serviceImpl.Create(createMessage, null);

            var allUsers   = (await serviceImpl.GetAll(queryUsersMessage, null)).Data;
            var actualUser = allUsers.First();

            // Assert
            Assert.AreEqual(createMessage.Code, actualUser.Code);
            Assert.AreEqual(createMessage.Name, actualUser.Name);
            Assert.AreEqual(createMessage.Email, actualUser.Email);
        }
コード例 #2
0
        public async Task F03_01_Get_User_By_Name_Keyword()
        {
            //Arrange
            var createMessage     = CreateUserMessage();
            var truncateName      = createMessage.Name.Substring(0, 2);
            var queryUsersMessage = new QueryUsersMessage {
                Name = truncateName
            };

            // Action
            var serviceImpl        = GetServiceImpl();
            var actualResponseCode = (await serviceImpl.Create(createMessage, null)).Code;
            var allUsers           = (await serviceImpl.GetAll(queryUsersMessage, null)).Data;
            var actualUser         = allUsers.First();

            // Assert
            Assert.AreEqual(ResponseCode.Success, actualResponseCode);
            Assert.AreEqual(createMessage.Code, actualUser.Code);
            Assert.AreEqual(createMessage.Name, actualUser.Name);
            Assert.AreEqual(createMessage.Email, actualUser.Email);
        }
コード例 #3
0
        public override async Task <UsersResponse> GetAll(QueryUsersMessage request, ServerCallContext context)
        {
            try
            {
                var entities      = (await _coreService.GetByCondition(request.Code, request.Name, request.Email)).ToArray();
                var usersResponse = new UsersResponse
                {
                    Code = ResponseCode.Success
                };
                usersResponse.Data.AddRange(entities.Select(u => _mapper.Map <User>(u)));

                return(usersResponse);
            }
            catch (Exception ex)
            {
                return(new UsersResponse
                {
                    Code = ResponseCode.GeneralError,
                    Message = ex.Message
                });
            }
        }
コード例 #4
0
        public async Task F01_02_Create_User_Redis_Failed()
        {
            // Arrange
            var createMessage     = CreateUserMessage();
            var queryUsersMessage = new QueryUsersMessage {
                Code = createMessage.Code
            };
            var fakeRedisRepo = Substitute.For <IRedisUserRepository>();

            fakeRedisRepo.Create(null).ReturnsForAnyArgs((Func <CallInfo, int>)(c => throw new Exception()));

            // Action
            var serviceImpl    = GetServiceImpl(fakeRedisRepo: fakeRedisRepo);
            var actualResponse = await serviceImpl.Create(createMessage, null);

            var allUsers   = (await serviceImpl.GetAll(queryUsersMessage, null)).Data;
            var actualUser = allUsers.FirstOrDefault(u => u.Code == createMessage.Code);


            // Assert;
            Assert.IsNull(actualResponse);
            Assert.IsNull(actualUser);
            await fakeRedisRepo.Received(1).Create(Arg.Is <UserEntity>(u => u.Code == createMessage.Code));
        }