Exemplo n.º 1
0
        public async Task Throws_RequestException_Contact_Not_Found()
        {
            using var factory = new AppDbContextFactory();
            using var context = factory.CreateContext();

            // Arrange
            var sut = new UpdateContactHandler(_logger, context, _mediator.Object);
            var cmd = new UpdateContactCommand
            {
                Id          = int.MaxValue,
                Name        = "A",
                Address     = "A",
                DateOfBirth = DateTime.Now.AddDays(-1)
            };

            // Act & Assert
            var ex = await Assert.ThrowsAsync <RequestException>(() => sut.Handle(cmd));

            _mediator.Verify(m => m.Publish(It.IsAny <ContactUpdatedNotification>(), default), Times.Never());
        }
Exemplo n.º 2
0
        private async void OnSave(object sender, EventArgs e)
        {
            var contact = BindingContext as ContactBook;

            if (string.IsNullOrEmpty(contact.FirstName) || string.IsNullOrEmpty(contact.LastName))
            {
                await DisplayAlert("Error", "Please enter the name.", "OK");

                return;
            }

            if (contact.Id == 0)
            {
                AddContactHandler?.Invoke(this, contact);
            }
            else
            {
                UpdateContactHandler?.Invoke(this, contact);
            }

            await Navigation.PopAsync();
        }
Exemplo n.º 3
0
        public async Task Throws_RequestException_Contact_Exists()
        {
            using var factory = new AppDbContextFactory();
            using var context = factory.CreateContext(true);

            // Arrange
            var sut      = new UpdateContactHandler(_logger, context, _mediator.Object);
            var contacts = context.Contacts.ToList();
            var c1       = contacts.First();
            var c2       = contacts.Last();
            var cmd      = new UpdateContactCommand
            {
                Id          = c2.Id,
                Name        = c1.Name.ToLower(),
                Address     = c1.Address.ToUpper(),
                DateOfBirth = c1.DateOfBirth
            };

            // Act & Assert
            var ex = await Assert.ThrowsAsync <RequestException>(() => sut.Handle(cmd));

            _mediator.Verify(m => m.Publish(It.IsAny <ContactUpdatedNotification>(), default), Times.Never());
        }
Exemplo n.º 4
0
        public async Task OK()
        {
            using var factory = new AppDbContextFactory();
            using var context = factory.CreateContext(true);

            // Arrange
            var sut     = new UpdateContactHandler(_logger, context, _mediator.Object);
            var contact = context.Contacts.First();
            var cmd     = new UpdateContactCommand
            {
                Id          = contact.Id,
                Name        = "C",
                Address     = "C",
                DateOfBirth = DateTime.Now.AddDays(-1)
            };

            // Act
            var result = await sut.Handle(cmd);

            // Assert
            Assert.True(contact.Name == "C");
            Assert.True(contact.Address == "C");
            _mediator.Verify(m => m.Publish(It.IsAny <ContactUpdatedNotification>(), default), Times.Once());
        }