public async Task Should_MoveClientToNewTenant() { // Arrange var customHttpClient = new CustomWebApplicationFactory <Startup>(Guid.NewGuid().ToString()).CreateClient(); var createdTenant1 = await TenantsControllerTests.CreateTenant(customHttpClient); var createdClient = await CreateClient(customHttpClient, createdTenant1.TenantId); var createdTenant2 = await TenantsControllerTests.CreateTenant(customHttpClient); var clientTenantUpdateDto = new ClientTenantUpdateDto { TenantId = createdTenant2.TenantId }; var patchPayload = JsonConvert.SerializeObject(clientTenantUpdateDto); // Act var patchResponse = await customHttpClient.PatchAsync($"/api/clients/{createdClient.ClientId}", new StringContent(patchPayload, Encoding.UTF8, "application/json")); // Assert patchResponse.StatusCode.Should().Be(HttpStatusCode.OK); var patchResponseBody = await patchResponse.Content.ReadAsStringAsync(); var movedToNewTenantClient = JsonConvert.DeserializeObject <ClientReadDto>(patchResponseBody); movedToNewTenantClient.TenantId.Should().Be(createdTenant2.TenantId); }
public async Task <ActionResult <ClientReadDto> > MoveClientToNewTenant(Guid clientId, ClientTenantUpdateDto clientTenantUpdateDto) { var client = await _clientsRepo.GetClientById(clientId, true); if (client == null) { return(NotFound()); } if (await _tenantsRepo.GetTenantById(clientTenantUpdateDto.TenantId) == null) { return(BadRequest(new { Error = "Invalid Tenant Id" })); } client = _mapper.Map(clientTenantUpdateDto, client); var updatedClient = await _clientsRepo.UpdateClient(client); return(Ok(_mapper.Map <ClientReadDto>(updatedClient))); }