-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathStarWarsData.Complex.Tests.ps1
More file actions
81 lines (77 loc) · 2.27 KB
/
StarWarsData.Complex.Tests.ps1
File metadata and controls
81 lines (77 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# Arrange
BeforeAll {
. $PSCommandPath.Replace('.Complex.Tests.ps1', '.ps1')
}
Describe 'Search-SWFilm' -Tag 'Unit' {
$itName = "Returns film with release date '<year>' & director " +
"'<director>' given title fragment '<name>'"
It $itName -TestCases @(
# Arrange
@{
name = 'Phantom'
year = '1999-05-19'
director = 'George Lucas'
}
@{
name = 'Empire'
year = '1980-05-17'
director = 'Irvin Kershner'
}
@{
name = 'Return'
year = '1983-05-25'
director = 'Richard Marquand'
}
) {
# Act
$result = Search-SWFilm -Name $name
# Assert
$result.Count | Should -Be 1
$result.title | Should -BeLike "*$name*"
$result.release_date | Should -Be $year
$result.director | Should -Be $director
}
}
Describe 'Get-SWPerson' -Tag 'Unit' {
$itName = "Returns person metadata for '<fullname>' with gender " +
"'<gender>', eye colour '<eyeColour>' & film count of <filmCount>"
It $itName -TestCases @(
# Arrange
@{
name = 'maul'
fullName = 'Darth Maul'
gender = 'male'
eyeColour = 'yellow'
homeWorld = 'Dathomir'
filmCount = 1
}
@{
name = 'luke'
fullName = 'Luke Skywalker'
gender = 'male'
eyeColour = 'blue'
homeWorld = 'Tatooine'
filmCount = 4
}
@{
name = 'mothma'
fullName = 'Mon Mothma'
gender = 'female'
eyeColour = 'blue'
homeWorld = 'Chandrila'
filmCount = 1
}
) {
# Act
$result = Search-SWPerson -Name $name
$result.Count | Should -Be 1
$details = Get-SWPerson -Id $result.Id
# Assert
$details | Should -Not -BeNullOrEmpty
$details.Name | Should -Be $fullName
$details.BodyType.gender | Should -Be $gender
$details.BodyType.eye_color | Should -Be $eyeColour
$details.HomeWorld.name | Should -Be $homeWorld
$details.Films | Should -HaveCount $filmCount
}
}