Exemplo n.º 1
0
        public async Task SubscribeUserTest()
        {
            var url    = "/api/users/subscribe-user";
            var client = ServerFactory.CreateHttpClient();

            var body = new SubscribeUserRequest <Guid>
            {
                FromUserId = Guid.Empty,
                ToUserId   = Guid.Empty
            };
            var result = await client.PostAsync(url, body.GetContent());

            Assert.Equal(HttpStatusCode.BadRequest, result.StatusCode);

            body = new SubscribeUserRequest <Guid>
            {
                FromUserId = Guid.NewGuid(),
                ToUserId   = Guid.NewGuid()
            };
            result = await client.PostAsync(url, body.GetContent());

            result.EnsureSuccessStatusCode();

            var json = await result.Content.ReadAsStringAsync();

            var deserialize = JsonConvert.DeserializeObject <bool>(json);

            Assert.True(deserialize);
        }
Exemplo n.º 2
0
        public async Task <UpdateHandlingResult> HandleUpdateAsync(IBot bot, Update update)
        {
            SubscribeUserRequest request = new SubscribeUserRequest(update.CallbackQuery.From.Id, update.CallbackQuery.From.FirstName, null);
            await _mediator.Send(request);

            return(UpdateHandlingResult.Continue);
        }
        public override async Task <UpdateHandlingResult> HandleCommand(Update update, SubscribeCommandArgs args)
        {
            var userIdToSubscribe = update.Message.From.Id;
            var userFirstName     = update.Message.From.FirstName;
            var replyToMessageId  = update.Message.From.Id == update.Message.Chat.Id ? update.Message.MessageId : default;

            SubscribeUserRequest subscribeUserRequest = new SubscribeUserRequest(userIdToSubscribe, userFirstName, replyToMessageId);

            await _mediator.Send(subscribeUserRequest);

            return(UpdateHandlingResult.Continue);
        }
Exemplo n.º 4
0
        public async Task <bool> SubscribeUser(SubscribeUserRequest <Guid> request, CancellationToken token)
        {
            var value = new SubscribeUserEntity
            {
                FromUserId = request.FromUserId,
                ToUserId   = request.ToUserId
            };
            await _context.AddAsync(value, token);

            await _context.SaveChangesAsync(token);

            return(true);
        }
Exemplo n.º 5
0
        public async Task <IActionResult> SubscribeUser(SubscribeUserRequest <Guid> request, CancellationToken token)
        {
            var result = await _userService.SubscribeUser(request, token);

            return(Ok(result));
        }