Beispiel #1
0
    def test_associate_secondary_user_with_line(self):
        main_user = self.add_user()
        secondary_user = self.add_user()
        line = self.add_line()

        self.add_user_line(user_id=main_user.id,
                           line_id=line.id,
                           extension_id=None,
                           main_user=True,
                           main_line=True)

        secondary_user_line = UserLine(user_id=secondary_user.id,
                                       line_id=line.id,
                                       main_user=False,
                                       main_line=True)

        user_line_dao.associate(secondary_user_line)

        result = (self.session.query(UserLineSchema)
                  .filter(UserLineSchema.line_id == line.id)
                  .all())

        assert_that(result, contains_inanyorder(
            all_of(has_property('user_id', main_user.id),
                   has_property('line_id', line.id),
                   has_property('extension_id', None),
                   has_property('main_user', True),
                   has_property('main_line', True)),
            all_of(has_property('user_id', secondary_user.id),
                   has_property('line_id', line.id),
                   has_property('extension_id', None),
                   has_property('main_user', False),
                   has_property('main_line', True))))
Beispiel #2
0
    def test_associate_secondary_user_with_line(self):
        main_user = self.add_user()
        secondary_user = self.add_user()
        line = self.add_line()

        self.add_user_line(user_id=main_user.id,
                           line_id=line.id,
                           extension_id=None,
                           main_user=True,
                           main_line=True)

        secondary_user_line = UserLine(user_id=secondary_user.id,
                                       line_id=line.id,
                                       main_user=False,
                                       main_line=True)

        user_line_dao.associate(secondary_user_line)

        result = (self.session.query(UserLineSchema).filter(
            UserLineSchema.line_id == line.id).all())

        assert_that(
            result,
            contains_inanyorder(
                all_of(has_property('user_id', main_user.id),
                       has_property('line_id', line.id),
                       has_property('extension_id', None),
                       has_property('main_user', True),
                       has_property('main_line', True)),
                all_of(has_property('user_id', secondary_user.id),
                       has_property('line_id', line.id),
                       has_property('extension_id', None),
                       has_property('main_user', False),
                       has_property('main_line', True))))
Beispiel #3
0
    def test_associate_main_user_with_line_and_extension(self):
        user = self.add_user()
        line = self.add_line()
        extension = self.add_extension()
        user_line_row = self.add_user_line(line_id=line.id, extension_id=extension.id)

        user_line = UserLine(user_id=user.id,
                             line_id=line.id)

        user_line_dao.associate(user_line)

        result = self.session.query(UserLineSchema).filter(UserLineSchema.id == user_line_row.id).first()

        assert_that(result, all_of(
            has_property('user_id', user.id),
            has_property('line_id', line.id),
            has_property('extension_id', extension.id),
            has_property('main_user', True),
            has_property('main_line', True)))
Beispiel #4
0
    def test_associate_main_user_with_line_and_extension(self):
        user = self.add_user()
        line = self.add_line()
        extension = self.add_extension()
        user_line_row = self.add_user_line(line_id=line.id,
                                           extension_id=extension.id)

        user_line = UserLine(user_id=user.id, line_id=line.id)

        user_line_dao.associate(user_line)

        result = self.session.query(UserLineSchema).filter(
            UserLineSchema.id == user_line_row.id).first()

        assert_that(
            result,
            all_of(has_property('user_id', user.id),
                   has_property('line_id', line.id),
                   has_property('extension_id', extension.id),
                   has_property('main_user', True),
                   has_property('main_line', True)))
Beispiel #5
0
    def test_associate_secondary_user_with_line_and_extension(self):
        main_user = self.add_user()
        secondary_user = self.add_user()
        line = self.add_line()
        extension = self.add_extension()

        main_user_line_row = self.add_user_line(user_id=main_user.id,
                                                line_id=line.id,
                                                extension_id=extension.id,
                                                main_user=True,
                                                main_line=True)

        user_line = UserLine(user_id=secondary_user.id,
                             line_id=line.id,
                             main_user=False)

        user_line_dao.associate(user_line)

        main_row = (self.session.query(UserLineSchema).filter(
            UserLineSchema.id == main_user_line_row.id).first())

        secondary_row = (self.session.query(UserLineSchema).filter(
            UserLineSchema.line_id == line.id).filter(
                UserLineSchema.user_id == secondary_user.id).first())

        assert_that(
            main_row,
            all_of(has_property('user_id', main_user.id),
                   has_property('line_id', line.id),
                   has_property('extension_id', extension.id),
                   has_property('main_user', True),
                   has_property('main_line', True)))

        assert_that(
            secondary_row,
            all_of(has_property('user_id', secondary_user.id),
                   has_property('line_id', line.id),
                   has_property('extension_id', extension.id),
                   has_property('main_user', False),
                   has_property('main_line', True)))
Beispiel #6
0
    def test_associate_secondary_user_with_line_and_extension(self):
        main_user = self.add_user()
        secondary_user = self.add_user()
        line = self.add_line()
        extension = self.add_extension()

        main_user_line_row = self.add_user_line(user_id=main_user.id,
                                                line_id=line.id,
                                                extension_id=extension.id,
                                                main_user=True,
                                                main_line=True)

        user_line = UserLine(user_id=secondary_user.id,
                             line_id=line.id,
                             main_user=False)

        user_line_dao.associate(user_line)

        main_row = (self.session.query(UserLineSchema)
                    .filter(UserLineSchema.id == main_user_line_row.id)
                    .first())

        secondary_row = (self.session.query(UserLineSchema)
                         .filter(UserLineSchema.line_id == line.id)
                         .filter(UserLineSchema.user_id == secondary_user.id)
                         .first())

        assert_that(main_row, all_of(
            has_property('user_id', main_user.id),
            has_property('line_id', line.id),
            has_property('extension_id', extension.id),
            has_property('main_user', True),
            has_property('main_line', True)))

        assert_that(secondary_row, all_of(
            has_property('user_id', secondary_user.id),
            has_property('line_id', line.id),
            has_property('extension_id', extension.id),
            has_property('main_user', False),
            has_property('main_line', True)))
Beispiel #7
0
    def test_associate_user_with_line(self):
        user = self.add_user()
        line = self.add_line()

        user_line = UserLine(user_id=user.id, line_id=line.id)

        expected_user_line = user_line_dao.associate(user_line)

        result = (self.session.query(UserLineSchema).filter(
            UserLineSchema.id == expected_user_line.id).first())

        assert_that(result.user_id, equal_to(user_line.user_id))
        assert_that(result.line_id, equal_to(user_line.line_id))
        assert_that(result.extension_id, none())
        assert_that(result.main_user, equal_to(True))
        assert_that(result.main_line, equal_to(True))
Beispiel #8
0
    def test_associate_user_with_line(self):
        user = self.add_user()
        line = self.add_line()

        user_line = UserLine(user_id=user.id,
                             line_id=line.id)

        expected_user_line = user_line_dao.associate(user_line)

        result = (self.session.query(UserLineSchema)
                  .filter(UserLineSchema.id == expected_user_line.id)
                  .first())

        assert_that(result.user_id, equal_to(user_line.user_id))
        assert_that(result.line_id, equal_to(user_line.line_id))
        assert_that(result.extension_id, none())
        assert_that(result.main_user, equal_to(True))
        assert_that(result.main_line, equal_to(True))
Beispiel #9
0
def associate_user_line(user_line):
    created_user_line = user_line_dao.associate(user_line)
    main_user_line = user_line_dao.find_main_user_line(created_user_line.line_id)
    fix_associations(main_user_line)
    return created_user_line
Beispiel #10
0
def associate_user_line(user_line):
    created_user_line = user_line_dao.associate(user_line)
    main_user_line = user_line_dao.find_main_user_line(
        created_user_line.line_id)
    fix_associations(main_user_line)
    return created_user_line