public async Task GivenAnNonExistingApplicant_Update_ReturnsFailure()
        {
            sut = new ApplicantRepo(applicationContext);
            var updatedApplicant = fixture.Create <Applicant>();

            (var updateStatus, var updatedId) = await sut.Update(updatedApplicant.Id, updatedApplicant);

            Assert.Equal(Result.Fail, updateStatus);
            Assert.Equal(default, updatedId);
        public async Task GivenAnExistingApplicant_Update_UpdatesApplicant()
        {
            sut = new ApplicantRepo(applicationContext);
            var applicant        = fixture.Create <Applicant>();
            var createdApplicant = await sut.Create(applicant);

            var updatedApplicant = fixture.Create <Applicant>();

            (var updateStatus, var updatedId) = await sut.Update(createdApplicant.Id, updatedApplicant);

            Assert.Equal(Result.Success, updateStatus);
            var updatedEntity = await sut.GetById(createdApplicant.Id);

            Assert.Equal(createdApplicant.Id, updatedId);
            Assert.Equal(updatedEntity.Address, updatedApplicant.Address);
            Assert.Equal(updatedEntity.Age, updatedApplicant.Age);
            Assert.Equal(updatedEntity.FamilyName, updatedApplicant.FamilyName);
            Assert.Equal(updatedEntity.Name, updatedApplicant.Name);
            Assert.Equal(updatedEntity.Hired, updatedApplicant.Hired);
        }