public void CanGetWithSync()
        {
            var apiEntity1 = new ApiSample
            {
                Id = Guid.NewGuid()
            };
            var apiEntity2 = new ApiSample
            {
                Id = Guid.NewGuid()
            };

            var sampleController = new SampleController(this.service);
            var apiSync          = sampleController.GetAsync(-1).Result;

            Assert.AreEqual(0, apiSync.LastSync);
            Assert.AreEqual(0, apiSync.Data.Length);
            Assert.AreEqual(0, apiSync.DeletedData.Length);

            this.service.WriteAsync(apiEntity1).Wait();
            apiSync = sampleController.GetAsync(apiSync.LastSync).Result;
            Assert.AreEqual(1, apiSync.LastSync);
            Assert.AreEqual(1, apiSync.Data.Length);
            Assert.AreEqual(apiEntity1.Id, apiSync.Data[0].Id);
            Assert.AreEqual(0, apiSync.DeletedData.Length);

            this.service.WriteAsync(apiEntity2).Wait();
            this.service.RemoveAsync(apiEntity1).Wait();
            apiSync = sampleController.GetAsync(apiSync.LastSync).Result;
            Assert.AreEqual(3, apiSync.LastSync);
            Assert.AreEqual(1, apiSync.Data.Length);
            Assert.AreEqual(apiEntity2.Id, apiSync.Data[0].Id);
            Assert.AreEqual(1, apiSync.DeletedData.Length);
            Assert.AreEqual(apiEntity1.Id, apiSync.DeletedData[0]);
        }
Example #2
0
        public async Task GetAsync_WhenIdExists_ReturnsTheTestWithTheGivenId()
        {
            // Arrange
            int testId = 1;

            mock.Setup(m => m.GetTestByIdAsync(testId))
            .Returns(Task.Run(() => GetSampleTests().ElementAt(testId)));

            var sampleController = new SampleController(mock.Object);

            var expected = GetSampleTests().ElementAt(testId);

            // Act
            var result = await sampleController.GetAsync(testId);

            // Assert
            var okObjectResult = result as OkObjectResult;

            Assert.IsNotNull(okObjectResult);

            var actual = okObjectResult.Value as string;

            Assert.IsNotNull(actual);

            Assert.AreEqual(expected, actual);
        }
Example #3
0
        public async Task GetAsync_ReturnsAListOfAllTests()
        {
            // Arrange
            mock.Setup(m => m.GetTestsAsync())
            .Returns(Task.Run(() => GetSampleTests()));

            var sampleController = new SampleController(mock.Object);

            var expected = GetSampleTests();

            // Act
            var result = await sampleController.GetAsync();

            // Assert
            var okObjectResult = result as OkObjectResult;

            Assert.IsNotNull(okObjectResult);

            var actual = okObjectResult.Value as IEnumerable <string>;

            Assert.IsNotNull(actual);

            Assert.AreEqual(expected.Count(), actual.Count());

            for (int i = 0; i < expected.Count(); i++)
            {
                Assert.AreEqual(expected.ElementAt(i), actual.ElementAt(i));
            }
        }
        public void CanGetById()
        {
            var apiEntity = new ApiSample
            {
                Id = Guid.NewGuid()
            };

            this.service.WriteAsync(apiEntity).Wait();
            var sampleController = new SampleController(this.service);
            var resultApiEntity  = sampleController.GetAsync(apiEntity.Id).Result;

            Assert.IsTrue(ObjectsComparer.AreEqual(apiEntity, resultApiEntity));
        }
Example #5
0
        public async Task GetAsync_WhenIdDoesntExist_ReturnsNotFound()
        {
            // Arrange
            mock.Setup(m => m.GetTestByIdAsync(It.IsAny <int>()))
            .ReturnsAsync(null as string);

            var sampleController = new SampleController(mock.Object);

            var expected = 404;

            // Act
            var actual = await sampleController.GetAsync(1) as NotFoundResult;

            // Assert
            Assert.AreEqual(expected, actual.StatusCode);
        }