Ejemplo n.º 1
0
        public void Update_existing_weight_with_all_values_should_succeed()
        {
            // Arrange
            Guid originalId            = Guid.NewGuid();
            WeightMeasurement expected = GenerateRandomWeightMeasurement(originalId);

            Weight bizLogic = new Weight();
            var    original = bizLogic.Create(expected);

            Assert.AreEqual(Common.MetrikOutcome.Created, original.Outcome, original.Message);

            // Act
            var artifactToUpdate = original.Artifact.Clone();

            if (artifactToUpdate.Weight < 150)
            {
                artifactToUpdate.Weight += 10.0;
            }
            else
            {
                artifactToUpdate.Weight -= 10.0;
            }

            var actual = bizLogic.Update(original.Artifact, new List <string>()
            {
                "weight"
            });

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.Ok);
            actual.Artifact.EntryDate.ToUnixTimeSeconds().Should().Be(expected.EntryDate.ToUnixTimeSeconds());
            actual.Artifact.Id.Should().NotBeEmpty();
            actual.Artifact.Unit.Should().Be(expected.Unit);
            actual.Artifact.Weight.Should().Be(expected.Weight);
        }
Ejemplo n.º 2
0
        public void Update_existing_weight_with_some_values_should_succeed()
        {
            // Arrange
            Guid originalId            = Guid.NewGuid();
            WeightMeasurement original = GenerateRandomWeightMeasurement(originalId);

            Weight bizLogic = new Weight();
            var    created  = bizLogic.Create(original);

            // Act
            var expected = created.Artifact.Clone();

            expected.Weight += 5;

            var actual = bizLogic.Update(expected, new List <string> {
                "weight"
            });

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.Ok);
            actual.Artifact.EntryDate.ToUnixTimeSeconds().Should().Be(expected.EntryDate.ToUnixTimeSeconds());
            actual.Artifact.Id.Should().NotBeEmpty();
            actual.Artifact.Unit.Should().Be(expected.Unit);
            actual.Artifact.Weight.Should().Be(expected.Weight);
            actual.Artifact.Weight.Should().NotBe(created.Artifact.Weight);
        }
Ejemplo n.º 3
0
        public void Create_weight_should_return_a_bad_request_when_null_is_passed_in()
        {
            // Arrange

            // Act
            var bizLogic = new Weight();
            var actual   = bizLogic.Create(null);

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.BadRequest);
        }
Ejemplo n.º 4
0
        // TODO: Clarify what "fail" means
        public void Create_weight_should_fail_when_a_duplicate_ID_is_passed_in()
        {
            // Arrange
            var originalId = Guid.NewGuid();

            WeightMeasurement original = GenerateRandomWeightMeasurement();

            original.Id = originalId;

            WeightMeasurement expected = GenerateRandomWeightMeasurement();

            expected.Id = originalId;

            // Act
            var bizLogic = new Weight();

            _ = bizLogic.Create(original);
            var actual = bizLogic.Create(expected);

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.Conflict);
        }
Ejemplo n.º 5
0
        public void Delete_weight_measurement_by_valid_ID()
        {
            // Arrange
            var bizLogic   = new Weight();
            var expectedId = Guid.NewGuid();

            _ = bizLogic.Create(GenerateRandomWeightMeasurement(expectedId));

            // Act
            var actual = bizLogic.Delete(expectedId);

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.NoContent, actual.Message);
        }
Ejemplo n.º 6
0
        public void Get_weight_measurement_by_valid_ID()
        {
            // Arrange
            var bizLogic = new Weight();
            var expected = bizLogic.Create(GenerateRandomWeightMeasurement());

            // Act
            var actual = bizLogic.Read(expected.Artifact.Id);

            // Assert
            expected.Artifact.Id.Should().NotBeEmpty();
            actual.Artifact.Id.Should().Be(expected.Artifact.Id);
            actual.Outcome.Should().Be(Common.MetrikOutcome.Ok);
        }
Ejemplo n.º 7
0
        public void Delete_weight_measurement_twice_should_fail_the_second_time()
        {
            // Arrange
            var bizLogic   = new Weight();
            var expectedId = Guid.NewGuid();

            _ = bizLogic.Create(GenerateRandomWeightMeasurement(expectedId));

            // Act
            var initialResult = bizLogic.Delete(expectedId);
            var secondResult  = bizLogic.Delete(expectedId);

            // Assert
            Assert.AreEqual(initialResult.Outcome, Common.MetrikOutcome.NoContent, "Expected the initial delete to succeed");
            Assert.AreEqual(secondResult.Outcome, Common.MetrikOutcome.NotFound, "Expected the second delete to fail");
        }
Ejemplo n.º 8
0
        public void Create_weight_should_populate_an_empty_ID()
        {
            // Arrange
            WeightMeasurement expected = GenerateRandomWeightMeasurement();

            expected.Id = Guid.Empty;

            // Act
            Weight bizLogic = new Weight();
            var    actual   = bizLogic.Create(expected);

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.Created, actual.Message);
            actual.Artifact.EntryDate.Should().Be(expected.EntryDate);
            actual.Artifact.Id.Should().NotBeEmpty();
            actual.Artifact.Unit.Should().Be(expected.Unit);
            actual.Artifact.Weight.Should().Be(expected.Weight);
        }
Ejemplo n.º 9
0
        public void Get_weight_list_should_return_at_least_5_items()
        {
            // Arrange
            var bizLogic      = new Weight();
            int expectedCount = 5;

            for (int i = 0; i < expectedCount; i++)
            {
                _ = bizLogic.Create(GenerateRandomWeightMeasurement());
            }

            // Act
            var actual = bizLogic.Read();

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.Ok, actual.Message);
            actual.Artifact.Count.Should().BeGreaterOrEqualTo(expectedCount);
        }
Ejemplo n.º 10
0
        public void Create_weight_should_retain_the_original_ID()
        {
            // Arrange
            var expectedId             = Guid.NewGuid();
            WeightMeasurement expected = GenerateRandomWeightMeasurement();

            expected.Id = expectedId;

            // Act
            var bizLogic = new Weight();
            var actual   = bizLogic.Create(expected);

            // Assert
            actual.Outcome.Should().Be(Common.MetrikOutcome.Created, actual.Message);
            actual.Artifact.EntryDate.Should().Be(expected.EntryDate);
            actual.Artifact.Id.Should().Be(expectedId);
            actual.Artifact.Unit.Should().Be(expected.Unit);
            actual.Artifact.Weight.Should().Be(expected.Weight);
        }