public async Task selecting_invalid_tenant_organization_should_fail() { var command = new SelectTenantOrganizationCommand("bar", "some/url"); organizations.All() .Returns(Enumerable.Empty <Organization>().AsAsyncQueryable()); var result = await handler.Handle(command); Assert.IsInstanceOfType(result, typeof(FailureResult)); tenantKeyManager.DidNotReceive() .SetTenantKey(command.TenantKey); }
public async Task Can_select_tenant_organization() { var command = new SelectTenantOrganizationCommand("foo", "some/url"); organizations.All() .Returns(new[] { new Organization { Abbreviation = "foo" } }.AsAsyncQueryable()); var result = await handler.Handle(command); Assert.IsInstanceOfType(result, typeof(SuccessResult)); tenantKeyManager.Received() .SetTenantKey(command.TenantKey); tenantUrlHelper.Received() .TransformTenantUrl(command.ReturnUrl, command.TenantKey); }
public async Task <ActionResult> Select(string tenantKey, string returnUrl) { Logger.Trace("Select::{0}", tenantKey); if (string.IsNullOrWhiteSpace(tenantKey)) { return(await Select(returnUrl)); } var command = new SelectTenantOrganizationCommand(tenantKey, returnUrl); var result = await mediator.SendAsync(command); if (result.IsSuccess) { return(new RedirectResult(result.Result as string)); } ModelState.AddModelError("", result.Result.ToString()); return(await Select(returnUrl)); }