public async Task Build_ReturnsDataReturnVersionWhenNoErrors()
        {
            var builder = new DataReturnVersionBuilderHelper().CreateWithErrorData(new List<ErrorData>());
            await builder.AddAatfDeliveredAmount("Approval Number", "Facility name", A.Dummy<WeeeCategory>(), ObligationType.B2C, A.Dummy<decimal>());

            var result = await builder.Build();

            Assert.NotNull(result.DataReturnVersion);
        }
        public async Task Build_ReturnsDataReturnVersionWhenNoErrors()
        {
            var builder = new DataReturnVersionBuilderHelper().CreateWithErrorData(new List <ErrorData>());
            await builder.AddAatfDeliveredAmount("Approval Number", "Facility name", A.Dummy <WeeeCategory>(), ObligationType.B2C, A.Dummy <decimal>());

            var result = await builder.Build();

            Assert.NotNull(result.DataReturnVersion);
        }
        public async Task Build_ReturnsNullDataReturnVersionWhenContainsErrors_AndReturnsErrors()
        {
            var errors = new List<ErrorData> { new ErrorData("An Error", ErrorLevel.Error) };
            var builder = new DataReturnVersionBuilderHelper().CreateWithErrorData(errors);
            await builder.AddAatfDeliveredAmount("Approval Number", "Facility name", A.Dummy<WeeeCategory>(), ObligationType.B2C, A.Dummy<decimal>());

            var result = await builder.Build();

            Assert.Null(result.DataReturnVersion);
            Assert.Equal(errors, result.ErrorData);
        }
        public async Task Build_ReturnsDataReturnVersionAndWarnings_WhenNoErrorsButWithWarnings()
        {
            var warnings = new List<ErrorData> { new ErrorData("A warning", ErrorLevel.Warning) };

            var builder = new DataReturnVersionBuilderHelper().CreateWithErrorData(warnings);
            await builder.AddAatfDeliveredAmount("Approval Number", "Facility name", A.Dummy<WeeeCategory>(), ObligationType.B2C, A.Dummy<decimal>());

            var result = await builder.Build();

            Assert.NotNull(result.DataReturnVersion);
            Assert.Equal(warnings, result.ErrorData);
        }
        public async Task Build_ReturnsNullDataReturnVersionWhenContainsErrors_AndReturnsErrors()
        {
            var errors = new List <ErrorData> {
                new ErrorData("An Error", ErrorLevel.Error)
            };
            var builder = new DataReturnVersionBuilderHelper().CreateWithErrorData(errors);
            await builder.AddAatfDeliveredAmount("Approval Number", "Facility name", A.Dummy <WeeeCategory>(), ObligationType.B2C, A.Dummy <decimal>());

            var result = await builder.Build();

            Assert.Null(result.DataReturnVersion);
            Assert.Equal(errors, result.ErrorData);
        }
        public async Task Build_ReturnsDataReturnVersionAndWarnings_WhenNoErrorsButWithWarnings()
        {
            var warnings = new List <ErrorData> {
                new ErrorData("A warning", ErrorLevel.Warning)
            };

            var builder = new DataReturnVersionBuilderHelper().CreateWithErrorData(warnings);
            await builder.AddAatfDeliveredAmount("Approval Number", "Facility name", A.Dummy <WeeeCategory>(), ObligationType.B2C, A.Dummy <decimal>());

            var result = await builder.Build();

            Assert.NotNull(result.DataReturnVersion);
            Assert.Equal(warnings, result.ErrorData);
        }