Browse Source

Tests fixed and login screen improved.

pull/65/head
Sebastian Stehle 9 years ago
parent
commit
3de6af776c
  1. 3
      src/Squidex/app/shared/guards/resolve-user.guard.spec.ts
  2. 50
      src/Squidex/app/shared/services/users.service.spec.ts
  3. 2
      src/Squidex/app/shared/services/users.service.ts
  4. 6
      src/Squidex/app/shell/pages/home/home-page.component.html
  5. 21
      src/Squidex/app/shell/pages/home/home-page.component.scss
  6. 1
      src/Squidex/app/theme/_forms.scss
  7. 2
      src/Squidex/app/theme/_static.scss
  8. BIN
      src/Squidex/wwwroot/images/logo-half.png

3
src/Squidex/app/shared/guards/resolve-user.guard.spec.ts

@ -15,6 +15,7 @@ import { RouterMockup } from './router-mockup';
describe('ResolveUserGuard', () => {
const route = {
params: {},
parent: {
params: {
userId: 'my-user'
@ -31,7 +32,7 @@ describe('ResolveUserGuard', () => {
it('should throw if route does not contain parameter', () => {
const guard = new ResolveUserGuard(usersService.object, <any>new RouterMockup());
expect(() => guard.resolve(<any>{ params: {} }, <any>{})).toThrow('Route must contain app and user name.');
expect(() => guard.resolve(<any>{ params: {} }, <any>{})).toThrow('Route must contain user id.');
});
it('should navigate to 404 page if user is not found', (done) => {

50
src/Squidex/app/shared/services/users.service.spec.ts

@ -12,8 +12,11 @@ import { It, IMock, Mock, Times } from 'typemoq';
import {
ApiUrlConfig,
AuthService,
UserManagementService,
CreateUserDto,
UpdateUserDto,
UserCreatedDto,
UserDto,
UserManagementService,
UsersDto,
UsersService
} from './../';
@ -236,7 +239,7 @@ describe('UserManagementService', () => {
});
it('should make get request to get single user', () => {
authService.setup(x => x.authGet('http://service/p/api/users/123'))
authService.setup(x => x.authGet('http://service/p/api/user-management/123'))
.returns(() => Observable.of(
new Response(
new ResponseOptions({
@ -263,6 +266,49 @@ describe('UserManagementService', () => {
authService.verifyAll();
});
it('should make post request to create user', () => {
const dto = new CreateUserDto('mail@squidex.io', 'Squidex User', 'password');
authService.setup(x => x.authPost('http://service/p/api/user-management', It.isAny()))
.returns(() => Observable.of(
new Response(
new ResponseOptions({
body: {
id: '123',
pictureUrl: 'path/to/image1'
}
})
)
))
.verifiable(Times.once());
let user: UserCreatedDto | null = null;
userManagementService.postUser(dto).subscribe(result => {
user = result;
}).unsubscribe();
expect(user).toEqual(new UserCreatedDto('123', 'path/to/image1'));
authService.verifyAll();
});
it('should make put request to update user', () => {
const dto = new UpdateUserDto('mail@squidex.io', 'Squidex User', 'password');
authService.setup(x => x.authPut('http://service/p/api/user-management/123', It.isAny()))
.returns(() => Observable.of(
new Response(
new ResponseOptions()
)
))
.verifiable(Times.once());
userManagementService.putUser('123', dto);
authService.verifyAll();
});
it('should make put request to lock user', () => {
authService.setup(x => x.authPut('http://service/p/api/user-management/123/lock', It.isAny()))
.returns(() => Observable.of(

2
src/Squidex/app/shared/services/users.service.ts

@ -150,7 +150,7 @@ export class UserManagementService {
}
public postUser(dto: CreateUserDto): Observable<UserDto> {
const url = this.apiUrl.buildUrl(`api/user-management/`);
const url = this.apiUrl.buildUrl('api/user-management');
return this.authService.authPost(url, dto)
.map(response => response.json())

6
src/Squidex/app/shell/pages/home/home-page.component.html

@ -1,11 +1,11 @@
<div class="login-area">
<div class="card">
<div class="card-block text-center">
<img class="login-icon" src="/images/login-icon.png" />
<img class="login-icon" src="/images/logo-half.png" />
<div>
<button class="btn login-button" (click)="login()">
<i class="icon-google"></i> <span class="login-button-text">Continue with Google</span>
<button class="btn btn-primary login-button" (click)="login()">
Login to Squidex
</button>
</div>
</div>

21
src/Squidex/app/shell/pages/home/home-page.component.scss

@ -2,8 +2,6 @@
@import '_vars';
$color-footer: #f7f8fa;
$color-google: #d34736;
$color-google-dark: #af2c1a;
.card-footer {
background: $color-footer;
@ -26,14 +24,6 @@ $color-google-dark: #af2c1a;
font-size: 1.4rem;
}
.icon-google {
color: $color-google-dark;
font-size: 1.4rem;
font-weight: normal;
margin-right: .5rem;
vertical-align: middle;
}
.logo {
height: 1.4rem;
margin-top: 1rem;
@ -50,23 +40,14 @@ $color-google-dark: #af2c1a;
&-button {
& {
@include border-radius(1.5rem);
color: $color-dark-foreground;
cursor: pointer;
border: 0;
margin-top: 4rem;
height: 3rem;
padding-left: 1.4rem;
padding-right: 1.4rem;
background: $color-google;
text-transform: uppercase;
}
&:hover {
background: darken($color-google, 5%);
}
&:focus {
@include box-shadow-none;
}
}
&-icon {

1
src/Squidex/app/theme/_forms.scss

@ -52,6 +52,7 @@
input,
select {
&.form-control {
@include placeholder-color($color-empty);
padding-top: 0;
padding-bottom: 0;
height: calc(2.5rem - 2px);

2
src/Squidex/app/theme/_static.scss

@ -35,7 +35,7 @@ noscript {
}
&-logo {
@include fixed(1rem, auto, auto, 1rem);
@include absolute(1rem, auto, auto, 1rem);
}
&-password-signup {

BIN
src/Squidex/wwwroot/images/logo-half.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Loading…
Cancel
Save