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); }
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."))); }