Example #1
0
        public void ValidateProducerObligationType_WithIncorrectObligationType_ReturnsError(ObligationType registeredObligationType, ObligationType eeeObligationType)
        {
            // Arrange
            var builder = new EeeValidatorBuilder();

            var producerSubmission = A.Fake <ProducerSubmission>();

            A.CallTo(() => producerSubmission.ObligationType)
            .Returns(registeredObligationType);

            var registeredProducer = A.Fake <RegisteredProducer>();

            A.CallTo(() => registeredProducer.CurrentSubmission)
            .Returns(producerSubmission);

            // Act
            var error = builder.Build().ValidateProducerObligationType(registeredProducer, "PRN1234", "TestProducerName", eeeObligationType);

            // Assert
            Assert.NotNull(error);
            Assert.Equal(ErrorLevel.Error, error.ErrorLevel);
            Assert.Contains("for one or more categories but is only registered for", error.Description);
            Assert.Contains("PRN1234", error.Description);
            Assert.Contains("TestProducerName", error.Description);
            Assert.Contains(eeeObligationType.ToString(), error.Description);
            Assert.Contains(registeredObligationType.ToString(), error.Description);
        }
        public void ValidateProducerObligationType_WithIncorrectObligationType_ReturnsError(ObligationType registeredObligationType, ObligationType eeeObligationType)
        {
            // Arrange
            var builder = new EeeValidatorBuilder();

            var producerSubmission = A.Fake<ProducerSubmission>();
            A.CallTo(() => producerSubmission.ObligationType)
                .Returns(registeredObligationType);

            var registeredProducer = A.Fake<RegisteredProducer>();
            A.CallTo(() => registeredProducer.CurrentSubmission)
                .Returns(producerSubmission);

            // Act
            var error = builder.Build().ValidateProducerObligationType(registeredProducer, "PRN1234", "TestProducerName", eeeObligationType);

            // Assert
            Assert.NotNull(error);
            Assert.Equal(ErrorLevel.Error, error.ErrorLevel);
            Assert.Contains("for one or more categories but is only registered for", error.Description);
            Assert.Contains("PRN1234", error.Description);
            Assert.Contains("TestProducerName", error.Description);
            Assert.Contains(eeeObligationType.ToString(), error.Description);
            Assert.Contains(registeredObligationType.ToString(), error.Description);
        }