コード例 #1
0
        public async Task UpdateDisplayStatusAsync_Good()
        {
            var testModel = new UserDisplayStatusBindingModel
            {
                UserName    = "******",
                IsDisplayed = true
            };

            var actionResult = await _target.UpdateDisplayStatusAsync(testModel);

            _mockUserService.Verify(x => x.UpdateUserDisplayStatusAsync("Test UserName", true), Times.Once());
            Assert.IsType <OkObjectResult>(actionResult);
            var result = actionResult as OkObjectResult;

            Assert.Equal(200, result.StatusCode);
            Assert.IsType <OperationDetails>(result.Value);
            var details = result.Value as OperationDetails;

            Assert.False(details.IsError);
            Assert.Equal("Display status for user '@Test UserName' has been updated successfully.", details.Message);
        }
コード例 #2
0
        public async Task CanUpdateUserDisplayStatus()
        {
            var factory = _factoryCollection.ForUpdate;

            using (var httpClient = await factory.CreateClientWithAccessTokenAsync(ADMIN_USER_NAME))
            {
                string testUserName = "******";
                string requestUrl   = $"{BASE_URL}/display-status";
                var    testModel    = new UserDisplayStatusBindingModel
                {
                    UserName    = testUserName,
                    IsDisplayed = true
                };
                string requestJson    = JsonConvert.SerializeObject(testModel);
                var    requestContent = new StringContent(requestJson);
                requestContent.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json");
                using (var response = await httpClient.PutAsync(requestUrl, requestContent))
                {
                    Assert.True(response.IsSuccessStatusCode);
                    Assert.Equal("application/json", response.Content.Headers.ContentType.MediaType);
                    string responseJson = await response.Content.ReadAsStringAsync();

                    var details = JsonConvert.DeserializeObject <OperationDetails>(responseJson);
                    Assert.False(details.IsError);
                    Assert.Equal("Display status for user '@user3' has been updated successfully.", details.Message);
                    using (var scope = factory.Server.Host.Services.CreateScope())
                    {
                        var db           = scope.ServiceProvider.GetRequiredService <ApplicationDbContext>();
                        var userManager  = scope.ServiceProvider.GetRequiredService <UserManager <UserIdentity> >();
                        var modifiedUser = await db.DomainUsers.FirstOrDefaultAsync(x => x.Identity.UserName == testUserName);

                        Assert.NotNull(modifiedUser);
                        Assert.True(modifiedUser.Profile.DisplayAsTeamMember);
                    }
                }
            }
        }
        public async Task <IActionResult> UpdateDisplayStatusAsync(UserDisplayStatusBindingModel model)
        {
            await _userService.UpdateUserDisplayStatusAsync(model.UserName, model.IsDisplayed);

            return(Ok(OperationDetails.Success($"Display status for user '@{model.UserName}' has been updated successfully.")));
        }