Add DisplayUser tests
This commit is contained in:
parent
8ec7610ee3
commit
ba42f84899
@ -702,6 +702,48 @@ let displayUploadTests =
|
|||||||
model.UpdatedOn.Value ((Noda.epoch + Duration.FromHours 1).ToDateTimeUtc()) "UpdatedOn not filled properly"
|
model.UpdatedOn.Value ((Noda.epoch + Duration.FromHours 1).ToDateTimeUtc()) "UpdatedOn not filled properly"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Unit tests for the DisplayUser type
|
||||||
|
let displayUserTests =
|
||||||
|
testList "DisplayUser.FromUser" [
|
||||||
|
let minimalUser =
|
||||||
|
{ WebLogUser.Empty with
|
||||||
|
Id = WebLogUserId "test-user"
|
||||||
|
Email = "jim.james@example.com"
|
||||||
|
FirstName = "Jim"
|
||||||
|
LastName = "James"
|
||||||
|
PreferredName = "John"
|
||||||
|
AccessLevel = Editor
|
||||||
|
CreatedOn = Noda.epoch }
|
||||||
|
test "succeeds when the user has minimal information" {
|
||||||
|
let model = DisplayUser.FromUser WebLog.Empty minimalUser
|
||||||
|
Expect.equal model.Id "test-user" "Id not filled properly"
|
||||||
|
Expect.equal model.Email "jim.james@example.com" "Email not filled properly"
|
||||||
|
Expect.equal model.FirstName "Jim" "FirstName not filled properly"
|
||||||
|
Expect.equal model.LastName "James" "LastName not filled properly"
|
||||||
|
Expect.equal model.PreferredName "John" "PreferredName not filled properly"
|
||||||
|
Expect.equal model.Url "" "Url not filled properly"
|
||||||
|
Expect.equal model.AccessLevel "Editor" "AccessLevel not filled properly"
|
||||||
|
Expect.equal model.CreatedOn (Noda.epoch.ToDateTimeUtc()) "CreatedOn not filled properly"
|
||||||
|
Expect.isFalse model.LastSeenOn.HasValue "LastSeenOn should have been null"
|
||||||
|
}
|
||||||
|
test "succeeds when the user has all information" {
|
||||||
|
let model =
|
||||||
|
DisplayUser.FromUser
|
||||||
|
{ WebLog.Empty with TimeZone = "Etc/GMT-1" }
|
||||||
|
{ minimalUser with
|
||||||
|
Url = Some "https://my.site"
|
||||||
|
LastSeenOn = Some (Noda.epoch + Duration.FromDays 4) }
|
||||||
|
Expect.equal model.Url "https://my.site" "Url not filled properly"
|
||||||
|
Expect.equal
|
||||||
|
model.CreatedOn ((Noda.epoch + Duration.FromHours 1).ToDateTimeUtc()) "CreatedOn not filled properly"
|
||||||
|
Expect.isTrue model.LastSeenOn.HasValue "LastSeenOn should not have been null"
|
||||||
|
Expect.equal
|
||||||
|
model.LastSeenOn.Value
|
||||||
|
((Noda.epoch + Duration.FromDays 4 + Duration.FromHours 1).ToDateTimeUtc())
|
||||||
|
"LastSeenOn not filled properly"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
/// All tests for the Domain namespace
|
/// All tests for the Domain namespace
|
||||||
let all =
|
let all =
|
||||||
testList
|
testList
|
||||||
@ -727,4 +769,5 @@ let all =
|
|||||||
displayPageTests
|
displayPageTests
|
||||||
displayRevisionTests
|
displayRevisionTests
|
||||||
displayThemeTests
|
displayThemeTests
|
||||||
displayUploadTests ]
|
displayUploadTests
|
||||||
|
displayUserTests ]
|
||||||
|
Loading…
Reference in New Issue
Block a user