public void ShouldRemoveFromVaccinationWhenVaccinationHasNotIdOnCancel()
        {
            //Arrange
            var sut = BuildSUT();
            var mockedVaccination = new VaccinationViewModelMock();

            sut.Vaccinations.Add(mockedVaccination.Object);
            var countBefore = sut.Vaccinations.Count;

            //Act
            sut.CancelCommand.Execute(mockedVaccination.Object.Id);

            //Assert
            Assert.AreNotEqual(countBefore, sut.Vaccinations.Count);
        }
        private List <VaccinationViewModelMock> GetVaccinationsMocks()
        {
            var viewmodelMock = new VaccinationViewModelMock();

            viewmodelMock.SetupGet(x => x.Id).Returns(1);

            var viewModelMock2 = new VaccinationViewModelMock();

            viewModelMock2.SetupGet(x => x.Id).Returns(2);

            return(new List <VaccinationViewModelMock>()
            {
                viewmodelMock,
                viewModelMock2
            });
        }
        public void ShouldSaveNewVaccination()
        {
            //Arrange
            var sut = BuildSUT();

            var vaccinationViewModelMock = new VaccinationViewModelMock();

            vaccinationViewModelMock.SetupSave();

            sut.Vaccinations.Add(vaccinationViewModelMock.Object);

            //Act
            sut.SaveCommand.Execute(vaccinationViewModelMock.Object.Id);

            //Assert
            vaccinationViewModelMock.Verify(x => x.Save(), Times.Once);
        }
        public void ShouldInvokeCancelWhenVaccinationHasId()
        {
            //Arrange
            var sut = BuildSUT();
            var mockedVaccination = new VaccinationViewModelMock();

            mockedVaccination.SetupGet(x => x.Id).Returns(1);
            mockedVaccination.SetupCancel();

            sut.Vaccinations.Add(mockedVaccination.Object);

            //Act
            sut.CancelCommand.Execute(mockedVaccination.Object.Id);

            //Assert
            mockedVaccination.Verify(x => x.Cancel(), Times.Once);
        }