mirror of https://github.com/abpframework/abp.git
committed by
GitHub
8 changed files with 297 additions and 0 deletions
@ -0,0 +1,46 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardBodyComponent } from '../components'; |
||||
|
|
||||
|
describe('AbpCardBodyComponent', () => { |
||||
|
let spectator: SpectatorHost<CardBodyComponent>; |
||||
|
|
||||
|
const createHost = createHostFactory(CardBodyComponent); |
||||
|
|
||||
|
beforeEach( |
||||
|
() => |
||||
|
(spectator = createHost( |
||||
|
` <abp-card-body
|
||||
|
[cardBodyStyle]="{'background-color':'red'}" |
||||
|
> |
||||
|
<p>Body</p> |
||||
|
</abp-card-body>`, |
||||
|
{ |
||||
|
hostProps: { attributes: { autofocus: '', name: 'abp-card-body' } }, |
||||
|
}, |
||||
|
)), |
||||
|
); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-body', () => { |
||||
|
expect(spectator.element.classList).toContain('card-body'); |
||||
|
}); |
||||
|
|
||||
|
it('should have div', () => { |
||||
|
expect(spectator.query('div')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have background-color red', () => { |
||||
|
expect((spectator.query('div') as HTMLElement).style.backgroundColor).toEqual('red'); |
||||
|
}); |
||||
|
|
||||
|
it('should have p tag', () => { |
||||
|
expect(spectator.query('p')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have p tag with Body text', () => { |
||||
|
expect(spectator.query('p').textContent).toContain('Body'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,46 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardFooterComponent } from '../components'; |
||||
|
|
||||
|
describe('AbpCardFooterComponent', () => { |
||||
|
let spectator: SpectatorHost<CardFooterComponent>; |
||||
|
|
||||
|
const createHost = createHostFactory(CardFooterComponent); |
||||
|
|
||||
|
beforeEach( |
||||
|
() => |
||||
|
(spectator = createHost( |
||||
|
`<abp-card-footer
|
||||
|
[cardFooterStyle]="{'background-color':'red'}" |
||||
|
> |
||||
|
<p>Footer</p> |
||||
|
</abp-card-footer>`, |
||||
|
{ |
||||
|
hostProps: { attributes: { autofocus: '', name: 'abp-card-footer' } }, |
||||
|
}, |
||||
|
)), |
||||
|
); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-footer', () => { |
||||
|
expect(spectator.element.classList).toContain('card-footer'); |
||||
|
}); |
||||
|
|
||||
|
it('should have div', () => { |
||||
|
expect(spectator.query('div')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have background-color red', () => { |
||||
|
expect((spectator.query('div') as HTMLElement).style.backgroundColor).toEqual('red'); |
||||
|
}); |
||||
|
|
||||
|
it('should have p tag', () => { |
||||
|
expect(spectator.query('p')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have p tag with Footer text', () => { |
||||
|
expect((spectator.query('p') as HTMLElement).textContent).toContain('Footer'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,37 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardHeaderComponent } from '../components'; |
||||
|
|
||||
|
describe('AbpCardHeaderComponent', () => { |
||||
|
let spectator: SpectatorHost<CardHeaderComponent>; |
||||
|
const createHost = createHostFactory(CardHeaderComponent); |
||||
|
|
||||
|
beforeEach( |
||||
|
() => |
||||
|
(spectator = createHost( |
||||
|
` <abp-card-header
|
||||
|
[cardHeaderStyle]="{'background-color':'red'}" |
||||
|
> |
||||
|
Header |
||||
|
</abp-card-header>`, |
||||
|
{ |
||||
|
hostProps: { attributes: { autofocus: '', name: 'abp-card-header' } }, |
||||
|
}, |
||||
|
)), |
||||
|
); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-header', () => { |
||||
|
expect(spectator.element.classList).toContain('card-header'); |
||||
|
}); |
||||
|
|
||||
|
it('should have background-color red', () => { |
||||
|
expect((spectator.query('div') as HTMLElement).style.backgroundColor).toEqual('red'); |
||||
|
}); |
||||
|
|
||||
|
it('should have Header text', () => { |
||||
|
expect(spectator.element.textContent).toContain('Header'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,28 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardHeader } from '../components'; |
||||
|
|
||||
|
describe('AbpCardHeaderDirective', () => { |
||||
|
let spectator: SpectatorHost<CardHeader>; |
||||
|
|
||||
|
const createHost = createHostFactory(CardHeader); |
||||
|
|
||||
|
beforeEach( |
||||
|
() => |
||||
|
(spectator = createHost( |
||||
|
`<div
|
||||
|
abpCardHeader> |
||||
|
</div>`,
|
||||
|
{ |
||||
|
hostProps: { attributes: { autofocus: '', name: 'abp-card-header' } }, |
||||
|
}, |
||||
|
)), |
||||
|
); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-header', () => { |
||||
|
expect(spectator.element.classList).toContain('card-header'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,25 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardImgTop } from '../components'; |
||||
|
|
||||
|
describe('AbpCardImgTopDirective', () => { |
||||
|
let spectator: SpectatorHost<CardImgTop>; |
||||
|
|
||||
|
const createHost = createHostFactory(CardImgTop); |
||||
|
|
||||
|
beforeEach( |
||||
|
() => |
||||
|
(spectator = createHost( |
||||
|
`<img
|
||||
|
abpCardImgTop |
||||
|
/>`, |
||||
|
)), |
||||
|
); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-img-top', () => { |
||||
|
expect(spectator.element.classList).toContain('card-img-top'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,22 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardSubtitle } from '../components'; |
||||
|
|
||||
|
describe('AbpCardSubtitleDirective', () => { |
||||
|
let spectator: SpectatorHost<CardSubtitle>; |
||||
|
|
||||
|
const createHost = createHostFactory(CardSubtitle); |
||||
|
|
||||
|
beforeEach(() => (spectator = createHost(`<p abpCardSubtitle>CardSubtitle</p>`))); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-subtitle', () => { |
||||
|
expect(spectator.element.classList).toContain('card-subtitle'); |
||||
|
}); |
||||
|
|
||||
|
it('should have CardSubtitle text', () => { |
||||
|
expect(spectator.element.textContent).toContain('CardSubtitle'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,18 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator'; |
||||
|
import { CardTitle } from '../components'; |
||||
|
|
||||
|
describe('AbpCardTitleDirective', () => { |
||||
|
let spectator: SpectatorHost<CardTitle>; |
||||
|
|
||||
|
const createHost = createHostFactory(CardTitle); |
||||
|
|
||||
|
beforeEach(() => (spectator = createHost(`<h5 abpCardTitle>CardTitle</h5>`))); |
||||
|
|
||||
|
it('should create an instance', () => { |
||||
|
expect(spectator).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should have class card-title', () => { |
||||
|
expect(spectator.element.classList).toContain('card-title'); |
||||
|
}); |
||||
|
}); |
||||
@ -0,0 +1,75 @@ |
|||||
|
import { createHostFactory, SpectatorHost } from '@ngneat/spectator/jest'; |
||||
|
import { |
||||
|
CardComponent, |
||||
|
CardBodyComponent, |
||||
|
CardFooterComponent, |
||||
|
CardHeaderComponent, |
||||
|
CardHeader, |
||||
|
CardTitle, |
||||
|
CardImgTop, |
||||
|
CardSubtitle, |
||||
|
} from '../components/card'; |
||||
|
|
||||
|
describe('CardComponent', () => { |
||||
|
let spectator: SpectatorHost<CardComponent>; |
||||
|
|
||||
|
const createHost = createHostFactory({ |
||||
|
component: CardComponent, |
||||
|
declarations: [ |
||||
|
CardHeaderComponent, |
||||
|
CardTitle, |
||||
|
CardSubtitle, |
||||
|
CardBodyComponent, |
||||
|
CardImgTop, |
||||
|
CardFooterComponent, |
||||
|
], |
||||
|
}); |
||||
|
|
||||
|
beforeEach( |
||||
|
() => |
||||
|
(spectator = createHost( |
||||
|
` |
||||
|
<abp-card> |
||||
|
<abp-card-header> |
||||
|
<abp-card-title>Card title</abp-card-title> |
||||
|
<p abp-card-subtitle>Card subtitle</p> |
||||
|
</abp-card-header> |
||||
|
<abp-card-body> |
||||
|
<abp-card-img-top src="https://picsum.photos/200/300"></abp-card-img-top> |
||||
|
<p abpCardSubtitle>Some quick example text to build on the card title and make up the bulk of the card's content.</p> |
||||
|
</abp-card-body> |
||||
|
<abp-card-footer> |
||||
|
<a href="#" class="btn btn-primary">Go somewhere</a> |
||||
|
</abp-card-footer> |
||||
|
</abp-card> |
||||
|
`,
|
||||
|
{ |
||||
|
hostProps: { attributes: { autofocus: '', name: 'abp-card' } }, |
||||
|
}, |
||||
|
)), |
||||
|
); |
||||
|
|
||||
|
it('should display the card-header', () => { |
||||
|
expect(spectator.query('abp-card-header')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should display the card-title', () => { |
||||
|
expect(spectator.query('abp-card-title')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should display the card-subtitle', () => { |
||||
|
expect(spectator.query('p[abp-card-subtitle]')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should display the card-body', () => { |
||||
|
expect(spectator.query('abp-card-body')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should display the card-img-top', () => { |
||||
|
expect(spectator.query('abp-card-img-top')).toBeTruthy(); |
||||
|
}); |
||||
|
|
||||
|
it('should display the card-footer', () => { |
||||
|
expect(spectator.query('abp-card-footer')).toBeTruthy(); |
||||
|
}); |
||||
|
}); |
||||
Loading…
Reference in new issue