public async Task <PartialViewResult> EditModal(int id) { var tenantEditDto = await _tenantAppService.GetTenantForEdit(new EntityRequestInput(id)); var editionItems = await _editionAppService.GetEditionComboboxItems(tenantEditDto.EditionId); var viewModel = new EditTenantViewModel(tenantEditDto, editionItems); return(PartialView("_EditModal", viewModel)); }
public async Task Create_Update_And_Delete_Tenant_Test() { //CREATE -------------------------------- //Act await _tenantAppService.CreateTenant( new CreateTenantInput { TenancyName = "testTenant", Name = "Tenant for test purpose", AdminEmailAddress = "*****@*****.**", AdminPassword = "******", IsActive = true, ConnectionString = "Server=localhost; Database=project56Test_" + Guid.NewGuid().ToString("N") + "; Trusted_Connection=True;" }); //Assert var tenant = await GetTenantOrNullAsync("testTenant"); tenant.ShouldNotBe(null); tenant.Name.ShouldBe("Tenant for test purpose"); tenant.IsActive.ShouldBe(true); await UsingDbContext(tenant.Id, async context => { //Check static roles var staticRoleNames = Resolve <IRoleManagementConfig>().StaticRoles.Where(r => r.Side == MultiTenancySides.Tenant).Select(role => role.RoleName).ToList(); foreach (var staticRoleName in staticRoleNames) { (await context.Roles.CountAsync(r => r.TenantId == tenant.Id && r.Name == staticRoleName)).ShouldBe(1); } //Check default admin user var adminUser = await context.Users.FirstOrDefaultAsync(u => u.TenantId == tenant.Id && u.UserName == User.AdminUserName); adminUser.ShouldNotBeNull(); //Check notification registration (await context.NotificationSubscriptions.FirstOrDefaultAsync(ns => ns.UserId == adminUser.Id && ns.NotificationName == AppNotificationNames.NewUserRegistered)).ShouldNotBeNull(); }); //GET FOR EDIT ----------------------------- //Act var editDto = await _tenantAppService.GetTenantForEdit(new EntityDto(tenant.Id)); //Assert editDto.TenancyName.ShouldBe("testTenant"); editDto.Name.ShouldBe("Tenant for test purpose"); editDto.IsActive.ShouldBe(true); // UPDATE ---------------------------------- editDto.Name = "edited tenant name"; editDto.IsActive = false; await _tenantAppService.UpdateTenant(editDto); //Assert tenant = await GetTenantAsync("testTenant"); tenant.Name.ShouldBe("edited tenant name"); tenant.IsActive.ShouldBe(false); // DELETE ---------------------------------- //Act await _tenantAppService.DeleteTenant(new EntityDto((await GetTenantAsync("testTenant")).Id)); //Assert (await GetTenantOrNullAsync("testTenant")).IsDeleted.ShouldBe(true); }
public async Task Create_Update_And_Delete_Tenant_Test() { //CREATE -------------------------------- //Act await _tenantAppService.CreateTenant( new CreateTenantInput { TenancyName = "testTenant", Name = "Tenant for test purpose", AdminEmailAddress = "*****@*****.**", AdminPassword = "******", IsActive = true }); //Assert var tenant = await GetTenantOrNullAsync("testTenant"); tenant.ShouldNotBe(null); tenant.Name.ShouldBe("Tenant for test purpose"); tenant.IsActive.ShouldBe(true); await UsingDbContext( async context => { //Check static roles var staticRoleNames = Resolve <IRoleManagementConfig>().StaticRoles.Select(role => role.RoleName).ToList(); foreach (var staticRoleName in staticRoleNames) { (await context.Roles.CountAsync(r => r.TenantId == tenant.Id && r.Name == staticRoleName)).ShouldBe(1); } //Check default admin user (await context.Users.CountAsync(u => u.TenantId == tenant.Id && u.UserName == User.AdminUserName)).ShouldBe(1); }); //GET FOR EDIT ----------------------------- //Act var editDto = await _tenantAppService.GetTenantForEdit(new EntityRequestInput(tenant.Id)); //Assert editDto.TenancyName.ShouldBe("testTenant"); editDto.Name.ShouldBe("Tenant for test purpose"); editDto.IsActive.ShouldBe(true); // UPDATE ---------------------------------- editDto.Name = "edited tenant name"; editDto.IsActive = false; await _tenantAppService.UpdateTenant(editDto); //Assert tenant = await GetTenantAsync("testTenant"); tenant.Name.ShouldBe("edited tenant name"); tenant.IsActive.ShouldBe(false); // DELETE ---------------------------------- //Act await _tenantAppService.DeleteTenant(new EntityRequestInput((await GetTenantAsync("testTenant")).Id)); //Assert (await GetTenantOrNullAsync("testTenant")).IsDeleted.ShouldBe(true); }