/// <summary> /// Henter en given kalenderaftale fra et system under OSWEBDB. /// </summary> /// <param name="system">Unik identifikation af systemet under OSWEBDB.</param> /// <param name="id">Unik identifikation af kalenderaftalen.</param> /// <returns>Kalenderaftale.</returns> public IAftale AftaleGetBySystemAndId(int system, int id) { try { AftaleProxy queryForAftale = new AftaleProxy(system, id); return(_mySqlDataProvider.Get(queryForAftale)); } catch (IntranetRepositoryException) { throw; } catch (Exception ex) { throw new IntranetRepositoryException(Resource.GetExceptionMessage(ExceptionMessage.RepositoryError, MethodBase.GetCurrentMethod().Name, ex.Message), ex); } }
public void TestAtAftaleGetBySystemAndIdHenterAftale() { AftaleProxy appointmentProxy = _fixture.Build <AftaleProxy>() .With(m => m.FraTidspunkt, DateTime.MinValue) .With(m => m.TilTidspunkt, DateTime.MaxValue) .Create(); IKalenderRepository sut = CreateSut(appointmentProxy: appointmentProxy); Assert.That(sut, Is.Not.Null); int systemNo = _fixture.Create <int>(); int calId = _fixture.Create <int>(); IAftale result = sut.AftaleGetBySystemAndId(systemNo, calId); Assert.That(result, Is.Not.Null); Assert.That(result, Is.EqualTo(appointmentProxy)); _dataProviderMock.AssertWasCalled(m => m.Get(Arg <AftaleProxy> .Matches(n => n.System != null && n.System.Nummer == systemNo && n.Id == calId)), opt => opt.Repeat.Once()); }
/// <summary> /// Creates an instance of the calender repository which can be used for unit testing. /// </summary> /// <returns>Instance of the calender repository which can be used for unit testing.</returns> private IKalenderRepository CreateSut(IEnumerable <AftaleProxy> appointmentProxyCollection = null, AftaleProxy appointmentProxy = null, IEnumerable <BrugerProxy> calenderUserProxyCollection = null, Exception exception = null) { if (exception == null) { _dataProviderMock.Stub(m => m.GetCollection <AftaleProxy>(Arg <MySqlCommand> .Is.Anything)) .Return(appointmentProxyCollection ?? _fixture.Build <AftaleProxy>().With(m => m.FraTidspunkt, DateTime.MinValue).With(m => m.TilTidspunkt, DateTime.MaxValue).CreateMany(_random.Next(15, 25)).ToList()) .Repeat.Any(); } else { _dataProviderMock.Stub(m => m.GetCollection <AftaleProxy>(Arg <MySqlCommand> .Is.Anything)) .Throw(exception) .Repeat.Any(); } if (exception == null) { _dataProviderMock.Stub(m => m.Get(Arg <AftaleProxy> .Is.Anything)) .Return(appointmentProxy ?? _fixture.Build <AftaleProxy>().With(m => m.FraTidspunkt, DateTime.MinValue).With(m => m.TilTidspunkt, DateTime.MaxValue).Create()) .Repeat.Any(); } else { _dataProviderMock.Stub(m => m.Get(Arg <AftaleProxy> .Is.Anything)) .Throw(exception) .Repeat.Any(); } if (exception == null) { _dataProviderMock.Stub(m => m.GetCollection <BrugerProxy>(Arg <MySqlCommand> .Is.Anything)) .Return(calenderUserProxyCollection ?? _fixture.CreateMany <BrugerProxy>(_random.Next(3, 10)).ToList()) .Repeat.Any(); } else { _dataProviderMock.Stub(m => m.GetCollection <BrugerProxy>(Arg <MySqlCommand> .Is.Anything)) .Throw(exception) .Repeat.Any(); } return(new KalenderRepository(_dataProviderMock)); }