public async Task ThenThePersonDetailsAreReturned(PersonDbEntity expectedPerson) { _lastResponse.StatusCode.Should().Be(HttpStatusCode.OK); var responseContent = await _lastResponse.Content.ReadAsStringAsync().ConfigureAwait(false); var apiPerson = JsonSerializer.Deserialize <PersonResponseObject>(responseContent, CreateJsonOptions()); var eTagHeaders = _lastResponse.Headers.GetValues(HeaderConstants.ETag); eTagHeaders.Count().Should().Be(1); eTagHeaders.First().Should().Be($"\"{expectedPerson.VersionNumber.ToString()}\""); apiPerson.DateOfBirth.Should().Be(ResponseFactory.FormatDateOfBirth(expectedPerson.DateOfBirth)); apiPerson.FirstName.Should().Be(expectedPerson.FirstName); apiPerson.Id.Should().Be(expectedPerson.Id); // TODO - Update the links verification when implemented apiPerson.Links.Should().BeEmpty(); apiPerson.MiddleName.Should().Be(expectedPerson.MiddleName); apiPerson.PersonTypes.Should().BeEquivalentTo(expectedPerson.PersonTypes); apiPerson.PlaceOfBirth.Should().Be(expectedPerson.PlaceOfBirth); apiPerson.PreferredFirstName.Should().Be(expectedPerson.PreferredFirstName); apiPerson.PreferredSurname.Should().Be(expectedPerson.PreferredSurname); apiPerson.Surname.Should().Be(expectedPerson.Surname); apiPerson.Title.Should().Be(expectedPerson.Title); apiPerson.Tenures.Should().BeEquivalentTo(expectedPerson.Tenures?.Select(x => ResponseFactory.ToResponse(x))); apiPerson.IsAMinor.Should().BeFalse(); apiPerson.DateOfDeath.Should().Be(expectedPerson.DateOfDeath); }
public PersonDbModel(PersonDbEntity e, IEnumerable <TalkDbEntity> talks, IEnumerable <OrganizationDbEntity> orgs) { e.MapTo(this); this.Talks = talks.ToList(); this.Organizations = orgs.ToList(); }